Part Number Hot Search : 
SH7041A HT24LC04 BAV99WT1 BYT53C 70F333AI TYN804 MJD253T4 AM79534
Product Description
Full Text Search
 

To Download JS48F4400P0VB00 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  306666-12 august 2008 numonyx? strataflash ? embedded memory (p30) datasheet product features ? high performance ? 85 ns initial access ? 52 mhz with zero wait states, 17ns clock-to-data output synchronous-burst read mode ? 25 ns asynchronous-page read mode ? 4-, 8-, 16-, and continuous-word burst mode ? buffered enhanced factory programming (befp) at 5 s/ byte (typ) ? 1.8 v buffered programming at 7 s/byte (typ) ? architecture ? multi-level cell technology: highest density at lowest cost ? asymmetrically-blocked architecture ? four 32-kbyte parameter blocks: top or bottom configuration ? 128-kbyte main blocks ? voltage and power ?v cc (core) voltage: 1.7 v ? 2.0 v ?v ccq (i/o) voltage: 1.7 v ? 3.6 v ? standby current: 20 a (typ) for 64-mbit ? 4-word synchronous read current: 13 ma (typ) at 40 mhz ? quality and reliability ? operating temperature: ?40 c to +85 c ? minimum 100,000 erase cycles per block ? etox? viii process technology ? security ? one-time programmable registers: ? 64 unique factory device identifier bits ? 2112 user-programmable otp bits ? selectable otp space in main array: ? four pre-defined 128-kbyte blocks (top or bottom configuration) ? up to full array otp lockout ? absolute write protection: v pp = v ss ? power-transition erase/program lockout ? individual zero-latency block locking ? individual block lock-down ? software ?20 s (typ) program suspend ?20 s (typ) erase suspend ? numonyx? flash data integrator optimized ? basic command set and extended command set compatible ? common flash interface capable ? density and packaging ? 56- lead tsop package (64, 128, 256, 512- mbit) ? 64- ball numonyx? easy bga package (64, 128, 256, 512- mbit) ? numonyx? quad+ scsp (64, 128, 256, 512- mbit) ? 16-bit wide data bus
datasheet august 2008 2 306666-12 legal lines and disc laim ers information in this document is provided in connection with numonyx? products. no license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. except as provided in numonyx's terms and conditions of sale for such products, numonyx assumes no liability whatsoever, and numonyx disclaims any express or implied warranty, relating to sale and/or use of numonyx products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. numonyx products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear f acility applications. numonyx b.v. may make changes to specifications and product descriptions at any time, without notice. numonyx b.v. may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights tha t relate to the presented subject matter. the furnishing of documents and other materials and information does not provide any license, express or implie d, by estoppel or otherwise, to any such patents, trademarks, copyrights, or other intellectual property rights. designers must not rely on the absence or characteristics of any features or instructions marked ?reserved? or ?undefined.? num onyx reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. contact your local numonyx sales office or your distributor to obtain the latest specifications and before placing your product order. copies of documents which have an order number and are referenced in this document, or other numonyx literature may be obtained by visiting numonyx's website at http://www.numonyx.com . numonyx, the numonyx logo, and strataflash are trademarks or registered trademarks of numonyx b.v. or its subsidiaries in other countries. *other names and brands may be claimed as the property of others. copyright ? 2008, numonyx, b.v., all rights reserved.
august 2008 datasheet 306666-12 3 p30 contents 1.0 functional description ............................................................................................... 5 1.1 introduction ....................................................................................................... 5 1.2 overview ........................................................................................................... 5 1.3 virtual chip enable description.............................................................................. 6 1.4 memory maps ..................................................................................................... 6 2.0 package information ................................................................................................. 9 2.1 56-lead tsop..................................................................................................... 9 2.2 64-ball easy bga package .................................................................................. 10 2.3 quad+ scsp packages ...................................................................................... 12 3.0 ballouts ................................................................................................................... 15 4.0 signals .................................................................................................................... 18 4.1 dual-die configurations ..................................................................................... 20 5.0 bus operations ........................................................................................................ 21 5.1 reads .............................................................................................................. 21 5.2 writes.............................................................................................................. 21 5.3 output disable.................................................................................................. 21 5.4 standby ........................................................................................................... 22 5.5 reset............................................................................................................... 22 6.0 command set .......................................................................................................... 23 6.1 device command codes..................................................................................... 23 6.2 device command bus cycles .............................................................................. 24 7.0 read operation ........................................................................................................ 26 7.1 asynchronous page-mode read ........................................................................... 26 7.2 synchronous burst-mode read............................................................................ 26 7.3 read device identifier........................................................................................ 27 7.4 read cfi.......................................................................................................... 27 8.0 program operation .................................................................................................. 28 8.1 word programming ........................................................................................... 28 8.2 factory word programming ................................................................................ 29 8.3 buffered programming ....................................................................................... 29 8.4 buffered enhanced factory programming.............................................................. 30 8.4.1 befp requirements and considerations ..................................................... 30 8.4.2 befp setup phase .................................................................................. 31 8.4.3 befp program/verify phase ..................................................................... 31 8.4.4 befp exit phase ..................................................................................... 32 8.5 program suspend .............................................................................................. 32 8.6 program resume............................................................................................... 32 8.7 program protection............................................................................................ 33 9.0 erase operations ..................................................................................................... 34 9.1 block erase ...................................................................................................... 34 9.2 erase suspend .................................................................................................. 34 9.3 erase resume................................................................................................... 35 9.4 erase protection ................................................................................................ 35 10.0 security modes ........................................................................................................ 36 10.1 block locking.................................................................................................... 36 10.1.1 lock block............................................................................................. 36 10.1.2 unlock block.......................................................................................... 36
p30 datasheet august 2008 4 306666-12 10.1.3 lock-down block ....................................................................................36 10.1.4 block lock status ...................................................................................37 10.1.5 block locking during suspend ..................................................................37 10.2 selectable one-time programmable blocks ...........................................................38 11.0 registers .................................................................................................................39 11.1 read status register..........................................................................................39 11.1.1 clear status register ..............................................................................40 11.2 read configuration register ................................................................................40 11.2.1 read mode.............................................................................................41 11.2.2 latency count ........................................................................................41 11.2.3 wait polarity .........................................................................................43 11.2.4 data hold ..............................................................................................44 11.2.5 wait delay............................................................................................44 11.2.6 burst sequence ......................................................................................45 11.2.7 clock edge.............................................................................................45 11.2.8 burst wrap ............................................................................................46 11.2.9 burst length ..........................................................................................46 11.2.10 end of word line (eowl) considerations ...................................................46 11.3 one-time-programmable (otp) registers .............................................................46 11.3.1 reading the otp registers........................................................................47 11.3.2 programming the otp registers................................................................48 11.3.3 locking the otp registers........................................................................48 12.0 power and reset specifications ...............................................................................49 12.1 power-up and power-down .................................................................................49 12.2 reset specifications ...........................................................................................49 12.3 power supply decoupling ....................................................................................50 13.0 maximum ratings and operating conditions ............................................................51 13.1 absolute maximum ratings .................................................................................51 13.2 operating conditions..........................................................................................51 14.0 electrical specifications ...........................................................................................52 14.1 dc current characteristics ..................................................................................52 14.2 dc voltage characteristics ..................................................................................53 15.0 ac characteristics ....................................................................................................54 15.1 ac test conditions.............................................................................................54 15.2 capacitance ......................................................................................................55 15.3 ac read specifications .......................................................................................55 15.4 ac write specifications .......................................................................................62 16.0 program and erase characteristics ...........................................................................66 17.0 ordering information ...............................................................................................67 17.1 discrete products...............................................................................................67 17.2 scsp products...................................................................................................68 a supplemental reference information .......................................................................69 b conventions - additional information ......................................................................94 c revision history .......................................................................................................96
august 2008 datasheet order number: 306666-12 5 p30 1.0 functional description 1.1 introduction this document provides information about the numonyx? strataflash ? embedded memory (p30) product and describes its features, operation, and specifications. the numonyx? strataflash ? embedded memory (p30) product is the latest generation of numonyx? strataflash ? memory devices. offered in 64-mbit up through 512-mbit densities, the p30 device brings reliable, two-bit-per-cell storage technology to the embedded flash market segment. benefits include more density in less space, high- speed interface, lowest cost-per-bit nor device, and support for code and data storage. features include high-performance synchronous-burst read mode, fast asynchronous access times, low power, flexible security options, and three industry standard package choices. the p30 product family is manufactured using intel * 130 nm etox? viii process technology. the p30 product family is also planned on the intel * 65nm process lithography. 65nm ac timing changes are noted in this datasheet, and should be taken into account for all new designs. 1.2 overview this section provides an overview of the features and capabilities of the p30. the p30 family provides density upgrades from 64-mbit through 512-mbit. this family of devices provides high performance at low voltage on a 16-bit data bus. individually erasable memory blocks are sized for optimum code and data storage. upon initial power up or return from reset, the device defaults to asynchronous page- mode read. configuring the read configuration register enables synchronous burst- mode reads. in synchronous burst mode, output data is synchronized with a user- supplied clock signal. a wait signal provides an easy cpu-to-flash memory synchronization. in addition to the enhanced architecture and interface, the device incorporates technology that enables fast factory program and erase operations. designed for low- voltage systems, the p30 supports read operations with v cc at 1.8 v, and erase and program operations with v pp at 1.8 v or 9.0 v. buffered enhanced factory programming (befp) provides the fastest flash array programming performance with v pp at 9.0 v, which increases factory throughput. with v pp at 1.8 v, vcc and vpp can be tied together for a simple, ultra low power design. in addition to voltage flexibility, a dedicated vpp connection provides complete data protection when v pp v pplk . a command user interface (cui) is the interface between the system processor and all internal operations of the device. an internal write state machine (wsm) automatically executes the algorithms and timings necessary for block erase and program. a status register indicates erase or program completion and any errors that may have occurred. an industry-standard command sequence invokes program and erase automation. each erase operation erases one block. the erase suspend feature allows system software to pause an erase cycle to read or program data in another block. program suspend allows system software to pause programming to read other locations. data is programmed in word increments (16 bits).
p30 datasheet august 2008 6 306666-12 the p30 protection register allows unique flash device identification that can be used to increase system security. the individual block lock feature provides zero-latency block locking and unlocking. in addition, the p30 de vice also has four pre-defined spaces in the main array that can be configured as one-time programmable (otp). 1.3 virtual chip enable description the p30 512mbit devices employ a virtual chip enable which combines two 256-mbit die with a common chip enable, f1-ce# for quad+ packages or ce# for easy bga and tsop packages. (refer to figure 9 on page 20 and figure 10 on page 20 ). address a24 (quad+ package) or a25 (easy bga and tsop packages) is then used to select between the die pair with f1-ce# / ce# asserted depending upon the package option used. when chip enable is asserted and quad+ a24 (easy bga/tsop a25) is low ( v il ), the lower parameter die is selected; when chip enable is asserted and quad+ a24 (easy bga/tsop a25) is high ( v ih ), the upper parameter die is selected. refer to ta b l e 1 and tab le 2 for additional details. 1.4 memory maps ta b l e 3 through ta b l e 5 show the p30 memory maps. the memory array is divided into multiple 8-mbit programming regions (see section 8.0, ?program operation? on page 28 ). table 1: virtual chip enable truth table for 512 mb (quad+ package) die selected f1-ce# a24 lower param die l l upper param die l h table 2: virtual chip enable truth table for 512 mb (easy bga & tsop packages) die selected ce# a25 lower param die l l upper param die l h table 3: discrete top parameter memory maps (all packages) size (kb) blk 64-mbit size (kb) blk 128-mbit one programming region 32 66 3fc000 - 3fffff one programming region 32 130 7fc000 - 7fffff ... ... ... ... ... ... 32 63 3f0000 - 3f3fff 32 127 7f0000 - 7f3fff 128 62 3e0000 - 3effff 128 126 7e0000 - 7effff ... ... ... ... ... ... 128 56 380000 - 38ffff 128 120 780000 - 78ffff
august 2008 datasheet order number: 306666-12 7 p30 seven programming regions 128 55 370000 - 37ffff fifteen programming regions 128 119 770000 - 77ffff 128 54 360000 - 36ffff 128 118 760000 - 76ffff ... ... ... ... ... ... 128 1 010000 - 01ffff 128 1 010000 - 01ffff 128 0 000000 - 00ffff 128 0 000000 - 00ffff size (kb) blk 256-mbit one programming region 32 258 ffc000 - ffffff ... ... ... 32 255 ff0000 - ff3fff 128 254 fe0000 - feffff ... ... ... 128 248 f80000 - f8ffff thirty-one programming regions 128 247 f70000 - f7ffff 128 246 f60000 - f6ffff ... ... ... 128 1 010000 - 01ffff 128 0 000000 - 00ffff table 4: discrete bottom parameter memory maps (all packages) size (kb) blk 64-mbit size (kb) blk 128-mbit seven programming regions 128 66 3f0000 - 3fffff fifteen programming regions 128 130 7f0000 - 7fffff 128 65 3e0000 - 3effff 128 129 7e0000 - 7effff ... ... ... ... ... ... 128 12 090000 - 09ffff 128 12 090000 - 09ffff 128 11 080000 - 08ffff 128 11 080000 - 08ffff one programming region 128 10 070000 - 07ffff one programming region 128 10 070000 - 07ffff ... ... ... ... ... ... 128 4 010000 - 01ffff 128 4 010000 - 01ffff 32 3 00c000 - 00ffff 32 3 00c000 - 00ffff ... ... ... ... ... ... 32 0 000000 - 003fff 32 0 000000 - 003fff size (kb) blk 256-mbit table 3: discrete top parameter memory maps (all packages) size (kb) blk 64-mbit size (kb) blk 128-mbit
p30 datasheet august 2008 8 306666-12 note: the dual- die p30 memory maps are the same for both parameter options because the devices employ virtual chip enable (refer to section 1.3 ). the parameter option only defines the placement of bottom parameter die. thirty-one programming regions 128 258 ff0000 - ffffff 128 257 fe0000 - feffff ... ... ... 128 12 090000 - 09ffff 128 11 080000 - 08ffff one programming region 128 10 070000 - 07ffff ... ... ... 128 4 010000 - 01ffff 32 3 00c000 - 00ffff ... ... ... 32 0 000000 - 003fff block size is referenced in k-bytes where a byte=8 bits. block address range is referenced in k- words where a word is the size of the flash output bus (16 bits). table 5: 512-mbit top and bottom parameter memory map (easy bga and quad+ scsp) 512-mbit flash (2x256-mbit w/ 1ce) die stack config size (kb) blk address range 32 517 1ffc000 - 1ffffff ... ... ... 256-mbit 32 514 1ff0000 - 1ff3fff top parameter die 128 513 1fe0000 - 1feffff ... ... ... 128 259 1000000 - 100ffff 128 258 ff0000 - ffffff ... ... ... 256-mbit 128 4 010000 - 01ffff bottom parameter die 32 3 00c000 - 00ffff ... ... ... 32 0 000000 - 003fff note: refer to the appropriate 256-mbit memory map ( ta b l e 3 or ta b l e 4 ) for programming region information; block size is referenced in k-bytes where a byte=8 bits. block address range is referenced in k-words where a word is the size of the flash output bus (16 bits). table 4: discrete bottom parameter memory maps (all packages) size (kb) blk 64-mbit size (kb) blk 128-mbit
august 2008 datasheet order number: 306666-12 9 p30 2.0 package information 2.1 56-lead tsop figure 1: tsop mechanical specifications a 0 l detail a y d c z pin 1 e d 1 b detail b see detail a e see detail b a 1 seating plane a 2 see note 2 [231369-90] see notes 1 and 3 table 6: tsop package dimensions (sheet 1 of 2) product information symbol millimeters inches notes min nom max min nom max package height a - - 1.200 - - 0.047 standoff a 1 0.050 - - 0.002 - - package body thickness a 2 0.965 0.995 1.025 0.038 0.039 0.040 lead width b 0.100 0.150 0.200 0.004 0.006 0.008 lead thickness c 0.100 0.150 0.200 0.004 0.006 0.008 package body length d 1 18.200 18.400 18.600 0.717 0.724 0.732 package body width e 13.800 14.000 14.200 0.543 0.551 0.559 lead pitch e - 0.500 - - 0.0197 - terminal dimension d 19.800 20.00 20.200 0.780 0.787 0.795
p30 datasheet august 2008 10 306666-12 2.2 64-ball easy bga package lead tip length l 0.500 0.600 0.700 0.020 0.024 0.028 lead count n - 56 - - 56 - lead tip angle y 0 3 5 0 3 5 seating plane coplanarity y - - 0.100 - - 0.004 lead to package offset z 0.150 0.250 0.350 0.006 0.010 0.014 notes: 1. one dimple on package denotes pin 1. 2. if two dimples, then the larger dimple denotes pin 1. 3. pin 1 will always be in the upper left corner of the package, in reference to the product mark. 4. daisy chain evaluation unit information is at numonyx? flash memory packaging technology http://developer.numonyx.com/design/flash/packtech. figure 2: easy bga mechanical specifications table 6: tsop package dimensions (sheet 2 of 2) product information symbol millimeters inches notes min nom max min nom max e seating plane s1 s2 e top view - ball side down bottom view - ball side up y a a1 d ball a1 corner a2 note: drawing not to scale a b c d e f g h 8 7654321 8 7 6 5 4 3 2 1 a b c d e f g h b ball a1 corner
august 2008 datasheet order number: 306666-12 11 p30 table 7: easy bga package dimensions product information symbol millimeters inches notes min nom max min nom max package height (64/128/256-mbit) a - - 1.200 - - 0.0472 package height (512-mbit) a - - 1.300 - - 0.0512 ball height a1 0.250 - - 0.0098 - - package body thickness (64/128/256- mbit) a2 - 0.780 - - 0.0307 - package body thickness (512-mbit) a2 - 0.910 - - 0.0358 - ball (lead) width b 0.330 0.430 0.530 0.0130 0.0169 0.0209 package body width d 9.900 10.000 10.100 0.3898 0.3937 0.3976 package body length e 12.900 13.000 13.100 0.5079 0.5118 0.5157 pitch [e] - 1.000 - - 0.0394 - ball (lead) count n -64- -64- seating plane coplanarity y - - 0.100 - - 0.0039 corner to ball a1 distance along d s1 1.400 1.500 1.600 0.0551 0.0591 0.0630 corner to ball a1 distance along e s2 2.900 3.000 3.100 0.1142 0.1181 0.1220 notes: 1. daisy chain evaluation unit information is at numonyx? flash memory packaging technology http://developer.numonyx.com/design/flash/packtech .
p30 datasheet august 2008 12 306666-12 2.3 quad+ scsp packages figure 3: 64/128-mbit, 88-ball (80 active) quad+ scsp specifications (8x10x1.2 mm) millimeters inches di me ns i on s s ymbol mi n nom max mi n nom max package height a - - 1.200 - - 0.0472 ball height a 1 0.200 - - 0.0079 - - package body thickness a 2 - 0.860 - - 0.0339 - ball (lead) width b 0.325 0.375 0.425 0.0128 0.0148 0.0167 package bo dy wid th d 9.900 10.000 10.100 0.3898 0.3937 0.3976 package bo dy len gth e 7.900 8.000 8.100 0.3110 0.3150 0.3189 pitch e - 0.800 - - 0.0315 - ball (lead) count n - 88 - - 88 - seating plane cop lanarity y - - 0.100 - - 0.0039 corner to ball a1 distance along e s 1 1.100 1.200 1.300 0.0433 0.0472 0.0512 corner to ball a1 distance along d s 2 0.500 0.600 0.700 0.0197 0.0236 0.0276 top view - ball down bottom view - ball up a a 2 d e y a 1 drawing not to scale. s 2 s 1 a c b e d g f j h k l m e 1 2 3 4 5 6 7 8 b a c b e d g f j h k l m 12345678 a1 index mark
august 2008 datasheet order number: 306666-12 13 p30 figure 4: 256-mbit, 88-ball (80 active) quad+ scsp specifications (8x11x1.0 mm) millimeters inches dimens ions symbol min nom max min nom max package height a - - 1.000 - - 0.0394 ball height a1 0.117 - - 0.0046 - - package bo dy th ickn es s a 2 - 0.740 - - 0.0291 - ball (lead) w idth b 0.300 0.350 0.400 0.0118 0.0138 0.0157 package body length d 10.900 11.00 11.100 0.4291 0.4331 0.4370 package body w idth e 7.900 8.00 8.100 0.3110 0.3150 0.3189 pitch e - 0.80 - - 0.0315 - ball (lead) count n - 88 - - 88 - seating plane coplanarity y - - 0.100 - - 0.0039 corner to ball a1 distance along e s1 1.100 1.200 1.300 0.0433 0.0472 0.0512 corner to ball a1 distance along d s2 1.000 1.100 1.200 0.0394 0.0433 0.0472 top view - ball down bottom view - ball up a a2 d e y a1 drawing not to scale. s2 s1 a c b e d g f j h k l m e 1 2 3 4 5 6 7 8 b a c b e d g f j h k l m a1 index mark 12 34 56 78 note: dimensions a1, a2, and b are preliminary
p30 datasheet august 2008 14 306666-12 figure 5: 512-mbit, 88-ball (80 active) quad+ scsp specifications (8x11x1.2 mm) millimeters inches dimens ions symbol min nom max min nom max package height a - - 1.200 - - 0.0472 ball height a1 0.200 - - 0.0079 - - package body thickness a2 - 0.860 - - 0. 0339 - ball (lead) width b 0.325 0.375 0.425 0.0128 0.0148 0.0167 package body length d 10.900 11.000 11.100 0. 4291 0.4331 0.4370 package body width e 7.900 8.000 8.100 0. 3110 0.3150 0.3189 pitch e - 0.800 - - 0.0315 - ball (lead) count n - 88 - - 88 - seating plane coplanarity y - - 0.100 - - 0.0039 corner to ball a1 distance along e s1 1.100 1.200 1.300 0. 0433 0.0472 0.0512 corner to ball a1 distance along d s2 1.000 1.100 1.200 0. 0394 0.0433 0.0472 top view - ball down bottom view - ball up a a2 d e y a1 d raw ing not to scale. s2 s1 a c b e d g f j h k l m e 1 2 3 4 5 6 7 8 b a c b e d g f j h k l m a1 index mark 12 34 56 78
august 2008 datasheet order number: 306666-12 15 p30 3.0 ballouts notes: 1. a1 is the least significant address bit. 2. a23 is valid for 128-mbit densities and above; otherwise, it is a no connect (nc). 3. a24 is valid for 256-mbit densities; otherwise, it is a no connect (nc). 4. a25 is valid for 512-mbit densities; otherwise, it is a no connect (nc). 5. please refer to the latest specification update for synchronous read operation with the tsop package . the synchronous read input signals (i.e. adv# and clk) should be tied off to support asynchronous reads. see section 4.0, ?signals? on page 18 . figure 6: 56-lead tsop pinout (64/128/256/512- mbit) intel strataflash ? embedded memory (p30) 56-lead tsop pinout 14 mm x 20 mm top view 1 3 4 2 5 7 8 6 9 11 12 10 13 15 16 14 17 19 20 18 21 23 24 22 25 27 28 26 56 54 53 55 52 50 49 51 48 46 45 47 44 42 41 43 40 38 37 39 36 34 33 35 32 30 29 31 a14 a13 a12 a10 a9 a11 a23 a21 vss a22 vcc wp# a20 we# a19 a8 a7 a18 a6 a4 a3 a5 a2 a25 vss a24 wait dq15 dq7 a17 dq14 dq13 dq5 dq6 dq12 adv# clk dq4 rst# a16 dq3 vpp dq10 vccq dq9 dq2 dq1 dq0 vcc dq8 oe# ce# a1 vss a15 dq11
p30 datasheet august 2008 16 306666-12 notes: 1. a1 is the least significant address bit. 2. a23 is valid for 128-mbit densities and above; otherwise, it is a no connect (nc). 3. a24 is valid for 256-mbit densities and above; otherwise, it is a no connect (nc). 4. a25 is valid for 512-mbit densities; otherwise, it is a no connect (nc). figure 7: 64-ball easy bga ballout (64/128/256/512-mbit) 1 8 234 5 67 easy bga top view- ball side down easy bga bottom view- ball side up 1 8 2 3 4 5 6 7 h g f e d c b a h g f e d c a a2 vss a9 a14 ce# a19 rfu a25 rfu vss vcc dq13 vss dq7 a24 vss a3 a7 a10 a15 a12 a20 a21 wp# a4 a5 a11 vccq rst# a16 a17 vccq rfu dq8 dq1 dq9 dq4 dq3 dq15 clk rfu oe# dq0 dq10 dq12 dq11 wait adv# we# a23 rfu dq2 dq5 vccq dq14 dq6 a1 a6 a8 a13 vpp a18 a22 vcc a23 a4 a5 a11 vccq rst# a16 a17 vccq a1 a6 a8 a13 vpp a18 a22 vcc a3 a7 a10 a15 a12 a20 a21 wp# rfu dq8 dq1 dq9 dq4 dq3 dq15 clk rfu oe# dq0 dq10 dq12 dq11 wait adv# we# rfu dq2 dq5 vccq dq14 dq6 a2 vss a9 a14 ce# a19 rfu a25 rfu vss vcc dq13 vss dq7 a24 vss b
august 2008 datasheet order number: 306666-12 17 p30 notes: 1. a22 is valid for 128-mbit densities and above; otherwise, it is a no connect (nc). 2. a23 is valid for 256-mbit densities and above; otherwise, it is a no connect (nc). 3. a24 is valid for 512-mbit densities and above; otherwise, it is a no connect (nc). 4. f2-ce# and f2-oe# are no connect (nc) for all densities. figure 8: 88-ball (80-active ball) quad+ scsp ballout pin 1 12345678 a du du depop depop depop depop du du a b a4 a18 a19 vss vcc vcc a21 a11 b c a5 rfu a23 vss rfu clk a22 a12 c d a3 a17 a24 vpp rfu rfu a9 a13 d e a2 a7 rfu wp# adv# a20 a10 a15 e f a1 a6 rfu rst# we# a8 a14 a16 f g a0 dq8 dq2 dq10 dq5 dq13 wait f2-ce# g h rfu dq0 dq1 dq3 dq12 dq14 dq7 f2-oe# h j rfu f1-oe# dq9 dq11 dq4 dq6 dq15 vccq j k f1-ce# rfu rfu rfu rfu vcc vccq rfu k l vss vss vccq vcc vss vss vss vss l m du du depop depop depop depop du du m 12345678
p30 datasheet august 2008 18 306666-12 4.0 signals this section has signal descriptions for the various p30 packages. table 8: tsop and easy bga signal descriptions (sheet 1 of 2) symbol type name and function a[max:1] input address inputs: device address inputs. 64-mbit: a[22:1]; 128-mbit: a[23:1]; 256-mbit: a[24:1]; 512-mbit: a[25:1]. note: the virtual selection of the 256-mbit ?top parameter? die in the dual-die 512-mbit configuration is accomplished by setting a[25] high (v ih ). dq[15:0] input/ output data input/outputs: inputs data and commands during write cycles; outputs data during memory, status register, protection register, and read configuration register reads. data balls float when the ce# or oe# are deasserted. data is internally latched during writes. adv# input address valid: active low input. during synchronous read operations, addresses are latched on the rising edge of adv#, or on the next valid clk edge with adv# low, whichever occurs first. in asynchronous mode, the address is latched when adv# going high or continuously flows through if adv# is held low. warning: designs not using adv# must tie it to vss to allow addresses to flow through. ce# input flash chip enable: active low input. ce# low selects the associated flash memory die. when asserted, flash internal control logic, input buffers, decoders, and sense amplifiers are active. when deasserted, the associated flash die is deselected, power is reduced to standby levels, data and wait outputs are placed in high-z state. warning: chip enable must be driven high when device is not in use. clk input clock: synchronizes the device with the system?s bus frequency in synchronous-read mode. during synchronous read operations, addresses are latched on the rising edge of adv#, or on the next valid clk edge with adv# low, whichever occurs first. warning: designs not using clk for synchronous read mode must tie it to vccq or vss. oe# input output enable: active low input. oe# low enables the device?s output data buffers during read cycles. oe# high places the data outputs and wait in high-z. rst# input reset: active low input. rst# resets internal automation and inhibits write operations. this provides data protection during power transitions. rst# high enables normal operation. exit from reset places the device in asynchronous read array mode. wait output wait: indicates data valid in synchronous array or non-array burst reads. read configuration register bit 10 (rcr[10], wt) determines its polarity when asserted. wait?s active output is v ol or v oh when ce# and oe# are v il . wait is high-z if ce# or oe# is v ih . ? in synchronous array or non-array read modes, wait indicates invalid data when asserted and valid data when deasserted. ? in asynchronous page mode, and all write modes, wait is deasserted. we# input write enable: active low input. we# controls writes to the device. address and data are latched on the rising edge of we#. wp# input write protect: active low input. wp# low enables the lock-down mechanism. blocks in lock- down cannot be unlocked with the unlock command. wp# high overrides the lock-down function enabling blocks to be erased or programmed using software commands. vpp power/ input erase and program power: a valid voltage on this pin allows erasing or programming. memory contents cannot be altered when v pp v pplk . block erase and program at invalid v pp voltages should not be attempted. set v pp = v ppl for in-system program and erase operations. to accommodate resistor or diode drops from the system supply, the v ih level of v pp can be as low as v ppl min. v pp must remain above v ppl min to perform in-system flash modification. vpp may be 0 v during read operations. v pph can be applied to main blocks for 1000 cycles maximum and to parameter blocks for 2500 cycles. vpp can be connected to 9 v for a cumulative total not to exceed 80 hours. extended use of this pin at 9 v may reduce block cycling capability. vcc power device core power supply: core (logic) source voltage. writes to the flash array are inhibited when v cc v lko . operations at invalid v cc voltages should not be attempted. vccq power output power supply: output-driver source voltage. vss power ground: connect to system ground. do not float any vss connection.
august 2008 datasheet order number: 306666-12 19 p30 rfu ? reserved for future use: reserved by numonyx for future device functionality and enhancement. these should be treated in the same way as a do not use (du) signal. du ? do not use: do not connect to any other signal, or power supply; must be left floating. nc ? no connect: no internal connection; can be driven or floated. table 8: tsop and easy bga signal descriptions (sheet 2 of 2) symbol type name and function table 9: quad+ scsp signal descriptions (sheet 1 of 2) symbol type name and function a[max:0] input address inputs: device address inputs. 64-mbit: a[21:0]; 128-mbit: a[22:0]; 256-mbit: a[23:0]; 512-mbit: a[24:0]. note: the virtual selection of the 256-mbit ?top parameter? die in the dual-die 512-mbit configuration is accomplished by setting a[25] high (v ih ). dq[15:0] input/ output data input/outputs: inputs data and commands during write cycles; outputs data during memory, status register, protection register, and read configuration register reads. data balls float when the ce# or oe# are deasserted. data is internally latched during writes. adv# input address valid: active low input. during synchronous read operations, addresses are latched on the rising edge of adv#, or on the next valid clk edge with adv# low, whichever occurs first. in asynchronous mode, the address is latched when adv# going high or continuously flows through if adv# is held low. warning: designs not using adv# must tie it to vss to allow addresses to flow through. f1-ce# input flash chip enable: active low input. ce# low selects the associated flash memory die. when asserted, flash internal control logic, input buffers, decoders, and sense amplifiers are active. when deasserted, the associated flash die is deselected, power is reduced to standby levels, data and wait outputs are placed in high-z state. warning: chip enable must be driven high when device is not in use. clk input clock: synchronizes the device with the system?s bus frequency in synchronous-read mode. during synchronous read operations, addresses are latched on the rising edge of adv#, or on the next valid clk edge with adv# low, whichever occurs first. warning: designs not using clk for synchronous read mode must tie it to vccq or vss. f1-oe# input output enable: active low input. oe# low enables the device?s output data buffers during read cycles. oe# high places the data outputs and wait in high-z. rst# input reset: active low input. rst# resets internal automation and inhibits write operations. this provides data protection during power transitions. rst# high enables normal operation. exit from reset places the device in asynchronous read array mode. wait output wait: indicates data valid in synchronous array or non-array burst reads. read configuration register bit 10 (rcr[10], wt) determines its polarity when asserted. wait?s active output is v ol or v oh when ce# and oe# are v il . wait is high-z if ce# or oe# is v ih . ? in synchronous array or non-array read modes, wait indicates invalid data when asserted and valid data when deasserted. ? in asynchronous page mode, and all write modes, wait is deasserted. we# input write enable: active low input. we# controls writes to the device. address and data are latched on the rising edge of we#. wp# input write protect: active low input. wp# low enables the lock-down mechanism. blocks in lock- down cannot be unlocked with the unlock command. wp# high overrides the lock-down function enabling blocks to be erased or programmed using software commands. vpp power/ lnput erase and program power: a valid voltage on this pin allows erasing or programming. memory contents cannot be altered when v pp v pplk . block erase and program at invalid v pp voltages should not be attempted. set v pp = v ppl for in-system program and erase operations. to accommodate resistor or diode drops from the system supply, the v ih level of v pp can be as low as v ppl min. v pp must remain above v ppl min to perform in-system flash modification. vpp may be 0 v during read operations. v pph can be applied to main blocks for 1000 cycles maximum and to parameter blocks for 2500 cycles. vpp can be connected to 9 v for a cumulative total not to exceed 80 hours. extended use of this pin at 9 v may reduce block cycling capability.
p30 datasheet august 2008 20 306666-12 4.1 dual-die configurations note: a max = v ih selects the top parameter die; a max = v il selects the bottom parameter die. vcc power device core power supply: core (logic) source voltage. writes to the flash array are inhibited when v cc v lko . operations at invalid v cc voltages should not be attempted. vccq power output power supply: output-driver source voltage. vss power ground: connect to system ground. do not float any vss connection. rfu ? reserved for future use: reserved by numonyx for future device functionality and enhancement. these should be treated in the same way as a do not use (du) signal. du ? do not use: do not connect to any other signal, or power supply; must be left floating. nc ? no connect: no internal connection; can be driven or floated. table 9: quad+ scsp signal descriptions (sheet 2 of 2) symbol type name and function figure 9: 512-mbit easy bga and tsop top or bottom parameter block diagram top param die (256-mbit) bottom param die (256-mbit) wp# clk ce# adv# oe# wait we# rst# vcc vpp dq[15:0] a[max:1] vccq vss easy bga & tsop 512-mbit (dual-die) top or bottom parameter configuration figure 10: 512-mbit quad+ scsp top or bottom parameter block diagram top param die (256-mbit) bottom param die (256-mbit) wp# clk f1-ce# adv# oe# wait we# rst# vcc vpp dq[15:0] a[max:0] vccq vss quad+ 512-mbit (dual-die) top or bottom parameter configuration
august 2008 datasheet order number: 306666-12 21 p30 5.0 bus operations ce# low and rst# high enable device read operations. the device internally decodes upper address inputs to determine the accessed block. adv# low opens the internal address latches. oe# low activates the outputs and gates selected data onto the i/o bus. in asynchronous mode, the address is latched when adv# goes high or continuously flows through if adv# is held low. in synchronous mode, the address is latched by the first of either the rising adv# edge or the next valid clk edge with adv# low (we# and rst# must be v ih ; ce# must be v il ). bus cycles to/from the p30 device conform to standard microprocessor bus operations. ta b l e 1 0 summarizes the bus operations and the logic levels that must be applied to the device control signal inputs. 5.1 reads to perform a read operation, rst# and we# must be deasserted while ce# and oe# are asserted. ce# is the device-select control. when asserted, it enables the flash memory device. oe# is the data-output control. when asserted, the addressed flash memory data is driven onto the i/o bus. 5.2 writes to perform a write operation, both ce# and we# are asserted while rst# and oe# are deasserted. during a write operation, address and data are latched on the rising edge of we# or ce#, whichever occurs first. table 12, ?command bus cycles? on page 25 shows the bus cycle sequence for each of the supported device commands, while table 11, ?command codes and definitions? on page 23 describes each command. see section 15.0, ?ac characteristics? on page 54 for signal-timing details. note: write operations with invalid v cc and/or v pp voltages can produce spurious results and should not be attempted. 5.3 output disable when oe# is deasserted, device outputs dq[15:0] are disabled and placed in a high - impedance (high-z) state, wait is also placed in high-z. table 10: bus operations summary bus operation rst# clk adv# ce# oe# we# wait dq[15:0 ] notes read asynchronous v ih xl l l h deasserted output synchronous v ih running l l l h driven output write v ih xl l h lhigh-zinput1 output disable v ih x x l h h high-z high-z 2 standby v ih x x h x x high-z high-z 2 reset v il x x x x x high-z high-z 2,3 notes: 1. refer to the table 12, ?command bus cycles? on page 25 for valid dq[15:0] during a write operation. 2. x = don?t care (h or l). 3. rst# must be at v ss 0.2 v to meet the maximum specified power-down current.
p30 datasheet august 2008 22 306666-12 5.4 standby when ce# is deasserted the device is deselected and placed in standby, substantially reducing power consumption. in standby, the data outputs are placed in high-z, independent of the level placed on oe#. standby current, i ccs , is the average current measured over any 5 ms time interval, 5 s after ce# is deasserted. during standby, average current is measured over the same time interval 5 s after ce# is deasserted. when the device is deselected (while ce# is deasserted) during a program or erase operation, it continues to consume active power until the program or erase operation is completed. 5.5 reset as with any automated device, it is important to assert rst# when the system is reset. when the system comes out of reset, the system processor attempts to read from the flash memory if it is the system boot device. if a cpu reset occurs with no flash memory reset, improper cpu initialization may occur because the flash memory may be providing status information rather than array data. flash memory devices from numonyx allow proper cpu initialization following a system reset through the use of the rst# input. rst# should be controlled by the same low-true reset signal that resets the system cpu. after initial power-up or reset, the device defaults to asynchronous read array mode, and the status register is set to 0x80. asserting rst# de-energizes all internal circuits, and places the output drivers in high-z. when rst# is asserted, the device shuts down the operation in progress, a process which takes a minimum amount of time to complete. when rst# has been deasserted, the device is reset to asynchronous read array state. note: if rst# is asserted during a program or erase operation, the operation is terminated and the memory contents at the aborted location (for a program) or block (for an erase) are no longer valid, because the data may have been only partially written or erased. when returning from a reset (rst# deasserted), a minimum wait is required before the initial read access outputs valid data. also, a minimum delay is required after a reset before a write cycle can be initiated. after this wake - up interval passes, normal operation is restored. see section 15.0, ?ac characteristics? on page 54 for details about signal-timing.
august 2008 datasheet order number: 306666-12 23 p30 6.0 command set 6.1 device command codes the system cpu provides control of all in-system read, write, and erase operations of the device via the system bus. the on-chip write state machine (wsm) manages all block-erase and word-program algorithms. device commands are written to the command user interface (cui) to control all flash memory device operations. the cui does no t occupy an addressable memory location; it is the mechanism through which the flash device is controlled. table 11: command codes and definitions (sheet 1 of 2) mode code device mode description read 0xff read array places the device in read array mode. array data is output on dq[15:0]. 0x70 read status register places the device in read status register mode. the device enters this mode after a program or erase command is issued. status register data is output on dq[7:0]. 0x90 read device id or configuration register places device in read device identifier mode. subsequent reads output manufacturer/device codes, configuration register data, block lock status, or protection register data on dq[15:0]. 0x98 read cfi places the device in read cfi mode. subsequent reads output common flash interface information on dq[7:0]. 0x50 clear status register the wsm can only set status register error bits. the clear status register command is used to clear the sr error bits. write 0x40 word program setup first cycle of a 2-cycle programming command; prepares the cui for a write operation. on the next write cycle, the address and data are latched and the wsm executes the programming algorithm at the addressed location. during program operations, the device responds only to read status register and program suspend commands. ce# or oe# must be toggled to update the status register in asynchronous read. ce# or adv# must be toggled to update the status register data for synchronous non-array reads. the read array command must be issued to read array data after programming has finished. write 0x10 alternate word program setup equivalent to the word program setup command, 0x40. 0xe8 buffered program this command loads a variable number of words up to the buffer size of 32 words onto the program buffer. 0xd0 buffered program confirm the confirm command is issued after the data streaming for writing into the buffer is done. this instructs the wsm to perform the buffered program algorithm, writing the data from the buffer to the flash memory array. 0x80 befp setup first cycle of a 2-cycle command; initiates buffered enhanced factory program mode (befp). the cui then waits for the befp confirm command, 0xd0, that initiates the befp algorithm. all other commands are ignored when befp mode begins. 0xd0 befp confirm if the previous command was befp setup (0x80), the cui latches the address and data, and prepares the device for befp mode.
p30 datasheet august 2008 24 306666-12 6.2 device command bus cycles device operations are initiated by writing specific device commands to the command user interface (cui). several commands are used to modify array data including word program and block erase commands. writing either command to the cui initiates a sequence of internally - timed functions that culminate in the completion of the requested task. however, the operation can be aborted by either asserting rst# or by issuing an appropriate suspend command. erase 0x20 block erase setup first cycle of a 2-cycle command; prepares the cui for a block-erase operation. the wsm performs the erase algorithm on the block addressed by the erase confirm command. if the next command is not the erase confirm (0xd0) command, the cui sets status register bits sr[4] and sr[5], and places the device in read status register mode. 0xd0 block erase confirm if the first command was block erase setup (0x20), the cui latches the address and data, and the wsm erases the addressed block. during block- erase operations, the device responds only to read status register and erase suspend commands. ce# or oe# must be toggled to update the status register in asynchronous read. ce# or adv# must be toggled to update the status register data for synchronous non-array reads suspend 0xb0 program or erase suspend this command issued to any device address initiates a suspend of the currently-executing program or block erase operation. the status register indicates successful suspend operation by setting either sr[2] (program suspended) or sr[6] (erase suspended), along with sr[7] (ready). the write state machine remains in the suspend mode regardless of control signal states (except for rst# asserted). 0xd0 suspend resume this command issued to any device address resumes the suspended program or block-erase operation. block locking/ unlocking 0x60 lock block setup first cycle of a 2-cycle command; prepares the cui for block lock configuration changes. if the next command is not block lock (0x01), block unlock (0xd0), or block lock-down (0x2f), the cui sets status register bits sr[4] and sr[5], indicating a command sequence error. 0x01 lock block if the previous command was block lock setup (0x60), the addressed block is locked. 0xd0 unlock block if the previous command was block lock setup (0x60), the addressed block is unlocked. if the addressed block is in a lock-down state, the operation has no effect. 0x2f lock-down block if the previous command was block lock setup (0x60), the addressed block is locked down. protection 0xc0 program protection register setup first cycle of a 2-cycle command; prepares the device for a protection register or lock register program operation. the second cycle latches the register address and data, and starts the programming algorithm configuration 0x60 read configuration register setup first cycle of a 2-cycle command; prepares the cui for device read configuration. if the set read configuration register command (0x03) is not the next command, the cui sets status register bits sr[4] and sr[5], indicating a command sequence error. 0x03 read configuration register if the previous command was read configuration register setup (0x60), the cui latches the address and writes a[15:0] to the read configuration register. following a configure read configuration register command, subsequent read operations access array data. table 11: command codes and definitions (sheet 2 of 2) mode code device mode description
august 2008 datasheet order number: 306666-12 25 p30 table 12: command bus cycles mode command bus cycles first bus cycle second bus cycle oper addr (1) data (2) oper addr (1) data (2) read read array 1 write dna 0xff - - - read device identifier 2 write dna 0x90 read dba + ia id read cfi 2writedna0x98read dba + cfi- a cfi-d read status register 2 write dna 0x70 read dna srd clear status register 1 write dna 0x50 - - - program word program 2 write wa 0x40/ 0x10 write wa wd buffered program (3) > 2writewa0xe8write wa n - 1 buffered enhanced factory program (befp) (4) > 2 write wa 0x80 write wa 0xd0 erase block erase 2 write ba 0x20 write ba 0xd0 suspend program/erase suspend 1 write dna 0xb0 - - - program/erase resume 1 write dna 0xd0 - - - block locking/ unlocking lock block 2 write ba 0x60 write ba 0x01 unlock block 2 write ba 0x60 write ba 0xd0 lock-down block 2 write ba 0x60 write ba 0x2f otp register program otp register 2 write pra 0xc0 write otp-ra otp-d program lock register 2 write lra 0xc0 write lra lrd configuration program read configuration register 2 write rcd 0x60 write rcd 0x03 notes: 1. first command cycle address should be the same as the operation?s target address. dba = device base address (note: needed for dual-die 512 mb device) dna = address within the device. ia = identification code address offset. cfi-a = read cfi address offset. wa = word address of memory location to be written. ba = address within the block. otp-ra = protection register address. lra = lock register address. rcd = read configuration register data on quad+ a[15:0] or easy bga a[16:1]. 2. id = identifier data. cfi-d = cfi data on dq[15:0]. srd = status register data. wd = word data. n = word count of data to be loaded into the write buffer. otp-d = protection register data. lrd = lock register data. 3. the second cycle of the buffered program command is the word count of the data to be loaded into the write buffer. this is followed by up to 32 words of data.then the confirm command (0xd0) is issued, triggering the array programming operation. 4. the confirm command (0xd0) is followed by the buffer data.
p30 datasheet august 2008 26 306666-12 7.0 read operation the device supports two read modes: asynchronous page mode and synchronous burst mode. asynchronous page mode is the default read mode after device power-up or a reset. the read configuration register must be configured to enable synchronous burst reads of the flash memory array (see section 11.2, ?read configuration register? on page 40 ). the device can be in any of four read states: read array, read identifier, read status or read cfi. upon power-up, or after a reset, the device defaults to read array. to change the read state, the appropriate read command must be written to the device (see section 6.0, ?command set? on page 23 ). 7.1 asynchronous page-mode read following a device power-up or reset, asynchronous page mode is the default read mode and the device is set to read array. however, to perform array reads after any other device operation (e.g. write operation), the read array command must be issued in order to read from the flash memory array. note: asynchronous page-mode reads can only be performed when read configuration register bit rcr[15] is set ( see section 11.2, ?read configuration register? on page 40 ). to perform an asynchronous page-mode read, an address is driven onto the address bus, and ce# and adv# are asserted. we# and rst# must already have been deasserted. wait is deasserted during asynchronous page mode. adv# can be driven high to latch the address, or it must be held low throughout the read cycle. clk is not used for asynchronous page-mode reads, and is ignored. if only asynchronous reads are to be performed, clk should be tied to a valid v ih level, wait signal can be floated and adv# must be tied to ground. array data is driven onto dq[15:0] after an initial access time t avqv delay. (see section 15.0, ?ac characteristics? on page 54 ). in asynchronous page mode , four data words are ?sensed? simultaneously from the flash memory array and loaded into an internal page buffer . the buffer word corresponding to the initial address on the address bus is driven onto dq[15:0] after the initial access delay. the lowest two address bits determine which word of the 4-word page is output from the data buffer at any given time. 7.2 synchronous burst-mode read to perform a synchronous burst-read, an initial address is driven onto the address bus, and ce# and adv# are asserted. we# and rst# must already have been deasserted. adv# is asserted, and then deasserted to latch the address. alternately, adv# can remain asserted throughout the burst access, in which case the address is latched on the next valid clk edge while adv# is asserted. during synchronous array and non-array read modes, the first word is output from the data buffer on the next valid clk edge after the initial access latency delay (see section 11.2.2, ?latency count? on page 41 ). subsequent data is output on valid clk edges following a minimum delay. however, for a synchronous non-array read, the same word of data will be output on successive clock edges until the burst length requirements are satisfied. refer to the following waveforms for more detailed information: ? figure 24, ?synchronous single-word array or non-array read timing? on page 60 ? figure 25, ?continuous burst read, showing an output delay timing? on page 61 ? figure 26, ?synchronous burst-mode four-word read timing? on page 61
august 2008 datasheet order number: 306666-12 27 p30 7.3 read device identifier the read device identifier command instructs the device to output manufacturer code, device identifier code, block-lock status, protection register data, or configuration register data. 7.4 read cfi the read cfi command instructs the device to output common flash interface (cfi) data when read. see section 6.0, ?command set? on page 23 for details on issuing the read cfi command. appendix a, ?common flash interface tables? on page 69 shows cfi information and address offsets within the cfi database. table 13: device identifier information item address (1) data manufacturer code 0x00 0089h device id code 0x01 id block lock configuration: bba + 0x02 lock bit: ? block is unlocked dq 0 = 0b0 ? block is locked dq 0 = 0b1 ? block is not locked-down dq 1 = 0b0 ? block is locked-down dq 1 = 0b1 read configuration register 0x05 rcr contents lock register 0 0x80 pr-lk0 64-bit factory-programmed protection regist er 0x81?0x84 factory protection register data 64-bit user-programmable protection register 0x85?0x88 user protection register data lock register 1 0x89 pr-lk1 128-bit user-programmable protection registers 0x8a?0x109 protection register data notes: 1. bba = block base address. table 14: device id codes id code type device density device identifier codes ?t (top parameter) ?b (bottom parameter) device code 64-mbit 8817 881a 128-mbit 8818 881b 256-mbit 8919 891c note: the 512-mbit devices do not have a device id associated with them. each die within the stack can be identified by either of the 256-mbit device id codes depending on its parameter option.
p30 datasheet august 2008 28 306666-12 8.0 program operation the device supports three programming methods: word programming (40h/10h), buffered programming (e8h, d0h), and buffered enhanced factory programming (80h, d0h). see section 5.0, ?bus operations? on page 21 for details on the various programming commands issued to the device. the following sections describe device programming in detail. successful programming requires the addressed block to be unlocked. if the block is locked down, wp# must be deasserted and the block must be unlocked before attempting to program the block. attempting to program a locked block causes a program error (sr[4] and sr[1] set) and termination of the operation. see section 10.0, ?security modes? on page 36 for details on locking and unlocking blocks. the product name is segmented into multiple 8-mbit programming regions. see section 1.4, ?memory maps? on page 6 for complete addressing. execute in place (xip) applications must partition the memory such that code and data are in separate programming regions. xip is executing code directly from flash memory. each programming region should contain only code or data but not both. the following terms define the difference between code and data. system designs must use these definitions when partitioning their code and data for the p30 device. ? code: execution code ran out of the flash device on a continuous basis in the system. ? data: information periodically programmed into the flash device and read back (e.g. execution code shadowed and executed in ram, pictures, log files, etc.). 8.1 word programming word programming operations are initiated by writing the word program setup command to the device (see section 5.0, ?bus operations? on page 21 ). this is followed by a second write to the device with the address and data to be programmed. the device outputs status register data when read. see figure 34, ?word program flowchart? on page 79 . v pp must be above v pplk , and within the specified v ppl min/ max values. during programming, the write state machine (wsm) executes a sequence of internally-timed events that program the desired data bits at the addressed location, and verifies that the bits are sufficiently programmed. programming the flash memory array changes ?ones? to ?zeros?. memory array bits that are zeros can be changed to ones only by erasing the block (see section 9.0, ?erase operations? on page 34 ). the status register can be examined for programming progress and errors by reading at any address. the device remains in the read status register state until another command is written to the device. status register bit sr[7] indicates the programming status while the sequence executes. commands that can be issued to the device during programming are program suspend, read status register, read device identifier, read cfi, and read array (this returns unknown data). when programming has finished, status register bit sr[4] (when set) indicates a programming failure. if sr[3] is set, the wsm could not perform the word programming operation because v pp was outside of its acceptable limits. if sr[1] is set, the word programming operation attempted to program a locked block, causing the operation to abort.
august 2008 datasheet order number: 306666-12 29 p30 before issuing a new command, the status register contents should be examined and then cleared using the clear status register command. any valid command can follow, when word programming has completed. 8.2 factory word programming factory word programming is similar to word programming in that it uses the same commands and programming algorithms. however, factory word programming enhances the programming performance with v pp = v pph . this can enable faster programming times during oem manufacturing processes. factory word programming is not intended for extended use. see section 13.2, ?operating conditions? on page 51 for limitations when v pp = v pph . note: when v pp = v ppl , the device draws programming current from the v cc supply. if v pp is driven by a logic signal, v ppl must remain above v ppl min to program the device. when v pp = v pph , the device draws programming current from the v pp supply. figure 11, ?example vpp supply connections? on page 33 shows examples of device power supply configurations. 8.3 buffered programming the device features a 32-word buffer to enable optimum programming performance. for buffered programming, data is first written to an on-chip write buffer. then the buffer data is programmed into the flash memory array in buffer-size increments. this can improve system programming performance significantly over non-buffered programming. when the buffered programming setup command is issued (see section 6.0, ?command set? on page 23 ), status register information is updated and reflects the availability of the buffer. sr[7] indicates buffer availability: if set, the buffer is available; if cleared, the buffer is not available. to retry, issue the buffered programming setup command again, and re-check sr[7]. when sr[7] is set, the buffer is ready for loading. (see figure 36, ?buffer program flowchart? on page 81 ). on the next write, a word count is written to the device at the buffer address. this tells the device how many data words will be written to the buffer, up to the maximum size of the buffer. on the next write, a device start address is given along with the first data to be written to the flash memory array. subsequent writes provide additional device addresses and data. all data addresses must lie within the start address plus the word count. optimum programming performance and lower power usage are obtained by aligning the starting address at the beginning of a 32-word boundary (a[4:0] = 0x00). crossing a 32-word boundary during programming will double the total programming time. after the last data is written to the buffer, the buffered programming confirm command must be issued to the original block address. the wsm begins to program buffer contents to the flash memory array. if a command other than the buffered programming confirm command is written to the device, a command sequence error occurs and status register bits sr[7,5,4] are set. if an error occurs while writing to the array, the device stops programming, and status register bits sr[7,4] are set, indicating a programming failure. when buffered programming has completed, additional buffer writes can be initiated by issuing another buffered programming setup command and repeating the buffered program sequence. buffered programming may be performed with v pp = v ppl or v pph (see section 13.2, ?operating conditions? on page 51 for limitations when operating the device with v pp = v pph ).
p30 datasheet august 2008 30 306666-12 if an attempt is made to program past an erase-block boundary using the buffered program command, the device aborts the operation. this generates a command sequence error, and status register bits sr[5,4] are set. if buffered programming is attempted while v pp is below v pplk , status register bits sr[4,3] are set. if any errors are detected that have set status register bits, the status register should be cleared using the clear status register command. 8.4 buffered enhanced factory programming buffered enhanced factory programing (befp) speeds up multi-level cell (mlc) flash programming. the enhanced programming algorithm used in befp eliminates traditional programming elements that drive up overhead in device programmer systems. befp consists of three phases: setup, program/verify, and exit (see figure 37, ?befp flowchart? on page 82 ). it uses a write buffer to spread mlc program performance across 32 data words. verification occurs in the same phase as programming to accurately program the flash memory cell to the correct bit state. a single two-cycle command sequence programs the entire block of data. this enhancement eliminates three write cycles per buffer: two commands and the word count for each set of 32 data words. host programmer bus cycles fill the device?s write buffer followed by a status check. sr[0] indicates when data from the buffer has been programmed into sequential flash memory array locations. following the buffer-to-flash array programming sequence, the write state machine (wsm) increments internal addressing to automatically select the next 32-word array boundary. this aspect of befp saves host programming equipment the address-bus setup overhead. with adequate continuity testing, programming equipment can rely on the wsm?s internal verification to ensure that the device has programmed properly. this eliminates the external post-program verification and its associated overhead. 8.4.1 befp requirements and considerations note: 1. word buffer boundaries in the array are determined by a[4:0] (0x00 through 0x1f). the alignment start point is a[4:0] = 0x00. table 15: befp requirements parameter/issue requirement notes case temperature t c = 25 c 5 c v cc within operating range vpp driven to v pph setup and confirm target block unlocked before issuing the befp setup and confirm commands programming the first-word address (wa0) of the block to be programmed must be held constant from the setup phase through all data streaming into the target block, until transition to the exit phase is desired buffer alignment wa0 must align with the start of an array buffer boundary 1
august 2008 datasheet order number: 306666-12 31 p30 note: 1. some degradation in performance may occur if this limit is exceeded, but the internal algorithm continues to work properly. 2. if the internal address counter increments beyond the block's maximum address, addressing wraps around to the beginning of the block. 3. if the number of words is less than 32, remaining locations must be filled with 0xffff. 8.4.2 befp setup phase after receiving the befp setup and confirm command sequence, status register bit sr[7] (ready) is cleared, indicating that the wsm is busy with befp algorithm startup. a delay before checking sr[7] is required to allow the wsm enough time to perform all of its setups and checks (block-lock status, v pp level, etc.). if an error is detected, sr[4] is set and befp operation terminates. if the block was found to be locked, sr[1] is also set. sr[3] is set if the error occurred due to an incorrect v pp level. note: reading from the device after the befp setup and confirm command sequence outputs status register data. do not issue the read status register command; it will be interpreted as data to be loaded into the buffer. 8.4.3 befp program/verify phase after the befp setup phase has completed, the host programming system must check sr[7,0] to determine the availability of the write buffer for data streaming. sr[7] cleared indicates the device is busy and the befp program/verify phase is activated. sr[0] indicates the write buffer is available. two basic sequences repeat in this phase: loading of the write buffer, followed by buffer data programming to the array. for befp, the count value for buffer loading is always the maximum buffer size of 32 words. during the buffer-loading sequence, data is stored to sequential buffer locations starting at address 0x00. programming of the buffer contents to the flash memory array starts as soon as the buffer is full. if the number of words is less than 32, the remaining buffer locations must be filled with 0xffff. caution: the buffer must be completely filled for programming to occur. supplying an address outside of the current block's range during a buffer-fill sequence causes the algorithm to exit immediately. any data previously loaded into the buffer during the fill cycle is not programmed into the array. the starting address for data entry must be buffer size aligned, if not the befp algorithm will be aborted and the program fails and (sr[4]) flag will be set. data words from the write buffer are directed to sequential memory locations in the flash memory array; programming continues from where the previous buffer sequence ended. the host programming system must poll sr[0] to determine when the buffer program sequence completes. sr[0] cleared indicates that all buffer data has been transferred to the flash array; sr[0] set indicates that the buffer is not available yet for the next fill cycle. the host system may check full status for errors at any time, but it is table 16: befp considerations parameter/issue requirement notes cycling for optimum performance, cycling must be limited below 100 erase cycles per block. 1 programming blocks befp programs one block at a time; all buffer data must fall within a single block 2 suspend befp cannot be suspended programming the flash memory array programming to the flash memory array can occur only when the buffer is full. 3
p30 datasheet august 2008 32 306666-12 only necessary on a block basis after befp exit. after the buffer fill cycle, no write cycles should be issued to the device until sr[0] = 0 and the device is ready for the next buffer fill. note: any spurious writes are ignored after a buffer fill operation and when internal program is proceeding. the host programming system continues the befp algorithm by providing the next group of data words to be written to the buffer. alternatively, it can terminate this phase by changing the block address to one outside of the current block?s range. the program/verify phase concludes when the programmer writes to a different block address; data supplied must be 0xffff. upon program/verify phase completion, the device enters the befp exit phase. 8.4.4 befp exit phase when sr[7] is set, the device has returned to normal operating conditions. a full status check should be performed at this time to ensure the entire block programmed successfully. when exiting the befp algorithm with a block address change, the read mode will not change. after befp exit, any valid command can be issued to the device. 8.5 program suspend issuing the program suspend command while programming suspends the programming operation. this allows data to be accessed from the device other than the one being programmed. the program suspend command can be issued to any device address. a program operation can be suspended to perform reads only. additionally, a program operation that is running during an erase suspend can be suspended to perform a read operation (see figure 35, ?program suspend/resume flowchart? on page 80 ). when a programming operation is executing, issuing the program suspend command requests the wsm to suspend the programming algorithm at predetermined points. the device continues to output status register data after the program suspend command is issued. programming is suspended when status register bits sr[7,2] are set. suspend latency is specified in section 16.0, ?program and erase characteristics? on page 66 . to read data from the device, the read array command must be issued. read array, read status register, read device identifier, read cfi, and program resume are valid commands during a program suspend. during a program suspend, deasserting ce# places the device in standby, reducing active current. v pp must remain at its programming level, and wp# must remain unchanged while in program suspend. if rst# is asserted, the device is reset. 8.6 program resume the resume command instructs the device to continue programming, and automatically clears status register bits sr[7,2]. this command can be written to any address. if error bits are set, the status register should be cleared before issuing the next instruction. rst# must remain deasserted (see figure 35, ?program suspend/ resume flowchart? on page 80 ).
august 2008 datasheet order number: 306666-12 33 p30 8.7 program protection when v pp = v il , absolute hardware write protection is provided for all device blocks. if v pp is at or below v pplk , programming operations halt and sr[3] is set indicating a v pp - level error. block lock registers are not affected by the voltage level on v pp ; they may still be programmed and read, even if v pp is less than v pplk . figure 11: example vpp supply connections ? factory programming with v pp = v pph ? complete write/erase protection when v pp v pplk vcc vpp vcc vpp ? low voltage and factory programming ? low-voltage programming only ? logic control of device protection vcc vpp ? low voltage programming only ? full device protection unavailable vcc vpp 10k v pp v cc v cc prot # v cc v pp =v pph v cc
p30 datasheet august 2008 34 306666-12 9.0 erase operations flash erasing is performed on a block basis. an entire block is erased each time an erase command sequence is issued, and only one block is erased at a time. when a block is erased, all bits within that block read as logical ones. the following sections describe block erase operations in detail. 9.1 block erase block erase operations are initiated by writing the block erase setup command to the address of the block to be erased (see section 6.0, ?command set? on page 23 ). next, the block erase confirm command is written to the address of the block to be erased. if the device is placed in standby (ce# deasserted) during an erase operation, the device completes the erase operation before entering standby. v pp must be above v pplk and the block must be unlocked (see figure 38, ?block erase flowchart? on page 83 ) . during a block erase, the write state machine (wsm) executes a sequence of internally-timed events that conditions, erases, and verifies all bits within the block. erasing the flash memory array changes ?zeros? to ?ones?. memory array bits that are ones can be changed to zeros only by programming the block (see section 8.0, ?program operation? on page 28 ). the status register can be examined for block erase progress and errors by reading any address. the device remains in the read status register state until another command is written. sr[0] indicates whether the addressed block is erasing. status register bit sr[7] is set upon erase completion. status register bit sr[7] indicates block erase status while the sequence executes. when the erase operation has finished, status register bit sr[5] indicates an erase failure if set. sr[3] set would indicate that the wsm could not perform the erase operation because v pp was outside of its acceptable limits. sr[1] set indicates that the erase operation attempted to erase a locked block, causing the operation to abort. before issuing a new command, the status register contents should be examined and then cleared using the clear status register command. any valid command can follow once the block erase operation has completed. 9.2 erase suspend issuing the erase suspend command while erasing suspends the block erase operation. this allows data to be accessed from memory locations other than the one being erased. the erase suspend command can be issued to any device address. a block erase operation can be suspended to perform a word or buffer program operation, or a read operation within any block except the block that is erase suspended (see figure 35, ?program suspend/resume flowchart? on page 80 ). when a block erase operation is executing, issuing the erase suspend command requests the wsm to suspend the erase algorithm at predetermined points. the device continues to output status register data after the erase suspend command is issued. block erase is suspended when status register bits sr[7,6] are set. suspend latency is specified in section 16.0, ?program and erase characteristics? on page 66 . to read data from the device (other than an erase-suspended block), the read array command must be issued. during erase suspend, a program command can be issued to any block other than the erase-suspended block. block erase cannot resume until program operations initiated during erase suspend complete. read array, read status register, read device identifier, read cfi, and erase resume are valid commands
august 2008 datasheet order number: 306666-12 35 p30 during erase suspend. additionally, clear status register, program, program suspend, block lock, block unlock, and block lock-down are valid commands during erase suspend. during an erase suspend, deasserting ce# places the device in standby, reducing active current. v pp must remain at a valid level, and wp# must remain unchanged while in erase suspend. if rst# is asserted, the device is reset. 9.3 erase resume the erase resume command instructs the device to continue erasing, and automatically clears status register bits sr[7,6]. this command can be written to any address. if status register error bits are set, the status register should be cleared before issuing the next instruction. rst# must remain deasserted (see figure 35, ?program suspend/resume flowchart? on page 80 ). 9.4 erase protection when v pp = v il , absolute hardware erase protection is provided for all device blocks. if v pp is below v pplk , erase operations halt and sr[3] is set indicating a v pp -level error.
p30 datasheet august 2008 36 306666-12 10.0 security modes the device features security modes used to protect the information stored in the flash memory array. the following sections describe each security mode in detail. 10.1 block locking individual instant block locking is used to protect user code and/or data within the flash memory array. all blocks power up in a locked state to protect array data from being altered during power transitions. any block can be locked or unlocked with no latency. locked blocks cannot be programmed or erased; they can only be read. software-controlled security is implemented using the block lock and block unlock commands. hardware-controlled security can be implemented using the block lock- down command along with asserting wp#. also, v pp data security can be used to inhibit program and erase operations (see section 8.7, ?program protection? on page 33 and section 9.4, ?erase protection? on page 35 ). the p30 device also offers four pre-defined areas in the main array that can be configured as one-time programmable (otp) for the highest level of security. these include the four 32 kb parameter blocks together as one and the three adjacent 128 kb main blocks. this is available for top or bottom parameter devices. 10.1.1 lock block to lock a block, issue the lock block setup command. the next command must be the lock block command issued to the desired block?s address (see section 6.0, ?command set? on page 23 and figure 40, ?block lock operations flowchart? on page 85 ). if the set read configuration register command is issued after the block lock setup command, the device configures the rcr instead. block lock and unlock operations are not affected by the voltage level on v pp . the block lock bits may be modified and/or read even if v pp is at or below v pplk . 10.1.2 unlock block the unlock block command is used to unlock blocks (see section 6.0, ?command set? on page 23 ). unlocked blocks can be read, programmed, and erased. unlocked blocks return to a locked state when the device is reset or powered down. if a block is in a lock-down state, wp# must be deasserted before it can be unlocked (see figure 12, ?block locking state diagram? on page 37 ). 10.1.3 lock-down block a locked or unlocked block can be locked-down by writing the lock-down block command sequence (see section 6.0, ?command set? on page 23 ). blocks in a lock- down state cannot be programmed or erased; they can only be read. however, unlike locked blocks, their locked state cannot be changed by software commands alone. a locked-down block can only be unlocked by issuing the unlock block command with wp# deasserted. to return an unlocked block to locked-down state, a lock-down command must be issued prior to changing wp# to v il . locked-down blocks revert to the locked state upon reset or power up the device (see figure 12, ?block locking state diagram? on page 37 ).
august 2008 datasheet order number: 306666-12 37 p30 10.1.4 block lock status the read device identifier command is used to determine a block?s lock status (see section 12.0, ?power and reset specifications? on page 49 ). data bits dq[1:0] display the addressed block?s lock status; dq0 is the addressed block?s lock bit, while dq1 is the addressed block?s lock-down bit. 10.1.5 block locking during suspend block lock and unlock changes can be performed during an erase suspend. to change block locking during an erase operation, first issue the erase suspend command. monitor the status register until sr[7] and sr[6] are set, indicating the device is suspended and ready to accept another command. next, write the desired lock command sequen ce to a block, which changes the lock state of that block. after completing block lock or unlock operations, resume the erase operation using the erase resume command. note: a lock block setup command followed by any command other than lock block, unlock block, or lock-down block produces a command sequence error and set status register bits sr[4] and sr[5]. if a command sequence error occurs during an erase suspend, sr[4] and sr[5] remains set, even after the erase operation is resumed. unless the status register is cleared using the clear status register command before resuming the erase operation, possible erase errors may be masked by the command sequence error. figure 12: block locking state diagram [x00] [x01] power-up/reset unlocked locked [011] [111] [110] locked- down 4,5 software locked [011] hardware locked 5 unlocked wp# hardware control notes: 1. [a,b,c] represents [wp#, dq1, dq0]. x = don?t care. 2. dq1 indicates block lock-down status. dq1 = ?0?, lock-down has not been issued to this block. dq1 = ?1?, lock-down has been issued to this block. 3. dq0 indicates block lock status. dq0 = ?0?, block is unlocked. dq0 = ?1?, block is locked. 4. locked-down = hardware + software locked. 5. [011] states should be tracked by system software to determine difference between hardware locked and locked-down states. software block lock (0x60/0x01) or software block unlock (0x60/0xd0) software block lock-down (0x60/0x2f) wp# hardware control
p30 datasheet august 2008 38 306666-12 if a block is locked or locked-down during an erase suspend of the same block, the lock status bits change immediately. however, the erase operation completes when it is resumed. block lock operations cannot occur during a program suspend. see appendix a, ?write state machine? on page 86 , which shows valid commands during an erase suspend. 10.2 selectable one-time programmable blocks any of four pre-defined areas from the main array (the four 32-kb parameter blocks together as one and three adjacent 128 kb main blocks) can be configured as otp so further program and erase operations are not allowed. this option is available for top or bottom parameter devices. note: please see your local numonyx representative for details about the selectable otp implementation. table 17: selectable otp block mapping density top parameter configuration bottom parameter configuration 256-mbit blocks 258:255 (parameters) blocks 3:0 (parameters) block 254 (main) block 4 (main) block 253 (main) block 5 (main) block 252 (main) block 6 (main) 128-mbit blocks 130:127 (parameters) blocks 3:0 (parameters) block 126 (main) block 4 (main) block 125 (main) block 5 (main) block 124 (main) block 6 (main) 64-mbit blocks 66:63 (parameters) blocks 3:0 (parameters) block 62 (main) block 4 (main) block 61 (main) block 5 (main) block 60 (main) block 6 (main) notes: 1. the 512-mbit devices will have multiple die and selectable otp areas depending on the placement of the parameter blocks. 2. when programming the otp bits for a top parameter device , the following upper address bits must also be driven properly: a[max:17] driven high (v ih ) for tsop and easy bga packages, and a[max:16] driven high (v ih ) for quad+ scsp.
august 2008 datasheet order number: 306666-12 39 p30 11.0 registers when non-array reads are performed in asynchronous page mode only the first data is valid and all subsequent data are undefined. when a non-array read operation occurs as synchronous burst mode, the same word of data requested will be output on successive clock edges until the burst length requirements are satisfied. 11.1 read status register to read the status register, issue the read status register command at any address. status register information is available to which the read status register, word program, or block erase command was issued. status register data is automatically made available following a word program, block erase, or block lock command sequence. reads from the device after any of these command sequences outputs the device?s status until another valid command is written (e.g. read array command). the status register is read using single asynchronous-mode or synchronous burst mode reads. status register data is output on dq[7:0], while 0x00 is output on dq[15:8]. in asynchronous mode the falling edge of oe#, or ce# (whichever occurs first) updates and latches the status register contents. however, reading the status register in synchronous burst mode, ce# or adv# must be toggled to update status data. the device write status bit (sr[7]) provides overall status of the device. status register bits sr[6:1] present status and error information about the program, erase, suspend, v pp , and block-locked operations. table 18: status register description (sheet 1 of 2) status register (sr) default value = 0x80 device write status erase suspend status erase status program status v pp status program suspend status block-locked status befp status dws ess es ps vpps pss bls bws 76543210 bit name description 7 device write status (dws) 0 = device is busy; program or erase cycle in progress; sr[0] valid. 1 = device is ready; sr[6:1] are valid. 6 erase suspend status (ess) 0 = erase suspend not in effect. 1 = erase suspend in effect. 5 erase status (es) 0 = erase successful. 1 = erase fail or program sequence error when set with sr[4,7]. 4 program status (ps) 0 = program successful. 1 = program fail or program sequence error when set with sr[5,7] 3v pp status (vpps) 0 = vpp within acceptable limits during program or erase operation. 1 = vpp < vpplk during program or erase operation.
p30 datasheet august 2008 40 306666-12 note: always clear the status register prior to resuming erase operations. it avoids status register ambiguity when issuing commands during erase suspend. if a command sequence error occurs during an erase-suspend state, the status register contains the command sequence error status (sr[7,5,4] set). when the erase operation resumes and finishes, possible errors during the erase operation cannot be detected via the status register because it contains the previous error status. 11.1.1 clear status register the clear status register command clears the status register. it functions independent of v pp . the write state machine (wsm) sets and clears sr[7,6,2], but it sets bits sr[5:3,1] without clearing them. the status register should be cleared before starting a command sequence to avoid any ambiguity. a device reset also clears the status register. 11.2 read configuration register the read configuration register (rcr) is used to select the read mode (synchronous or asynchronous), and it defines the synchronous burst characteristics of the device. to modify rcr settings, use the configure read configuration register command (see section 6.0, ?command set? on page 23 ). rcr contents can be examined using the read device identifier command, and then reading from offset 0x05 (see section 12.0, ?power and reset specifications? on page 49 ). the rcr is shown in ta b l e 1 9 . the following sections describe each rcr bit. 2 program suspend status (pss) 0 = program suspend not in effect. 1 = program suspend in effect. 1 block-locked status (bls) 0 = block not locked during program or erase. 1 = block locked during program or erase; operation aborted. 0befp status (bws) after buffered enhanced factory programming (befp) data is loaded into the buffer: 0 = befp complete. 1 = befp in-progress. table 18: status register description (sheet 2 of 2) status register (sr) default value = 0x80 table 19: read configuration register description (sheet 1 of 2) read configuration register (rcr) read mode res latency count wait polarity data hold wait delay burst seq clk edge res res burst wrap burst length rm r lc[2:0] wp dh wd bs ce r r bw bl[2:0] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit name description 15 read mode (rm) 0 = synchronous burst-mode read 1 = asynchronous page-mode read (default) 14 reserved (r) reserved bits should be cleared (0)
august 2008 datasheet order number: 306666-12 41 p30 11.2.1 read mode the read mode (rm) bit selects synchronous burst-mode or asynchronous page-mode operation for the device. when the rm bit is set, asynchronous page mode is selected (default). when rm is cleared, synchronous burst mode is selected. 11.2.2 latency count the latency count (lc) bits tell the device how many clock cycles must elapse from the rising edge of adv# (or from the first valid clock edge after adv# is asserted) until the first valid data word is to be driven onto dq[15:0]. the input clock frequency is used to determine this value and figure 13 shows the data output latency for the different settings of lc. the maximum latency count for p30 would be code 4 based on the max clock frequency specification of 52 mhz, and there will be zero wait states when bursting within the word line. please also refer to ?end of word line (eowl) considerations? on page 46 for more information on eowl. refer to table 20, ?latency count (lc) and frequency support? on page 42 for latency code settings. 13:11 latency count (lc[2:0]) 010 =code 2 011 =code 3 100 =code 4 101 =code 5 110 =code 6 111 =code 7 (default) (other bit settings are reserved) 10 wait polarity (wp) 0 =wait signal is active low 1 =wait signal is active high (default) 9 data hold (dh) 0 =data held for a 1-clock data cycle 1 =data held for a 2-clock data cycle (default) 8wait delay (wd) 0 =wait deasserted with valid data 1 =wait deasserted one data cycle before valid data (default) 7 burst sequence (bs) 0 =reserved 1 =linear (default) 6 clock edge (ce) 0 = falling edge 1 = rising edge (default) 5:4 reserved (r) reserved bits should be cleared (0) 3 burst wrap (bw) 0 =wrap; burst accesses wrap within burst length set by bl[2:0] 1 =no wrap; burst accesses do not wrap within burst length (default) 2:0 burst length (bl[2:0]) 001 =4-word burst 010 =8-word burst 011 =16-word burst 111 =continuous-word burst (default) (other bit settings are reserved) note: latency code 2, data hold for a 2-clock data cycle (dh = 1) wait must be deasserted with valid data (wd = 0). latency code 2, data hold for a 2-cock data cycle (dh=1) wait deasserted one data cycle before valid data (wd = 1) combination is not supported. table 19, ?read configuration register description? on page 40 is shown using the quad+ package. for easy bga and tsop packages, the table reference should be adjusted using address bits a[16:1]. table 19: read configuration register description (sheet 2 of 2)
p30 datasheet august 2008 42 306666-12 figure 13: first-access latency count code 1 (reserved code 6 code 5 code 4 code 3 code 2 code 0 (reserved) code 7 valid address valid output valid out put valid output valid out put valid output valid out put valid output valid output valid out put valid output valid out put valid output valid out put valid output valid output valid output valid out put valid output valid out put valid output valid output valid out put valid output valid out put valid output valid output valid output valid out put valid output valid output valid out put valid output valid output valid output valid output valid output address [a] adv# [v] dq 15-0 [d/q] clk [ c] dq 15-0 [d/q] dq 15-0 [d/q] dq 15-0 [d/q] dq 15-0 [d/q] dq 15-0 [d/q] dq 15-0 [d/q] dq 15-0 [d/q] table 20: latency count (lc) and frequency support latency count settings frequency support (mhz) 2 27 3 40 4 52 note: synchronous burst read operation is currently not supported for the tsop package .
august 2008 datasheet order number: 306666-12 43 p30 11.2.3 wait polarity the wait polarity bit (wp), rcr[10] determines the asserted level (v oh or v ol ) of wait. when wp is set, wait is asserted high (default). when wp is cleared, wait is asserted low. wait changes state on valid clock edges during active bus cycles (ce# asserted, oe# asserted, rst# deasserted). 11.2.3.1 wait signal function the wait signal indicates data valid when the device is operating in synchronous mode (rcr[15]=0). the wait signal is only ?deasserted? when data is valid on the bus. when the device is operating in synchronous non-array read mode, such as read status, read id, or read cfi. the wait signal is also ?deasserted? when data is valid on the bus. wait behavior during synchronous non-array reads at the end of word line works correctly only on the first data access. when the device is operating in asynchrono us page mode, asynchronous single word read mode, and all write operations, wait is set to a deasserted state as determined by rcr[10]. see figure 22, ?asynchronous single-word read (adv# latch)? on page 59 , and figure 23, ?asynchronous page-mode read timing? on page 60 . figure 14: example latency count setting using code 3 clk ce# adv# a[max:0] d[15:0] t data code 3 address data 012 34 r103 high-z table 21: wait functionality table (sheet 1 of 2) condition wait notes ce# = ?1?, oe# = ?x? or ce# = ?0?, oe# = ?1? high-z 1 ce# =?0?, oe# = ?0? active 1 synchronous array reads active 1 synchronous non-array reads active 1
p30 datasheet august 2008 44 306666-12 11.2.4 data hold for burst read operations, the data hold (dh) bit determines whether the data output remains valid on dq[15:0] for one or two clock cycles. this period of time is called the ? data cycle ?. when dh is set, output data is held for two clocks (default). when dh is cleared, output data is held for one clock (see figure 15 ). the processor?s data setup time and the flash memory?s clock-to-data output delay should be considered when determining whether to hold output data for one or two clocks. a method for determining the data hold configuration is shown below: to set the device at one clock data hold fo r subsequent reads, the following condition must be satisfied: t chqv (ns) + t data (ns) one clk period (ns) t data = data set up to clock (defined by cpu) for example, with a clock frequency of 40 mhz, the clock period is 25 ns. assuming t chqv = 20 ns and t data = 4 ns. applying these values to the formula above: 20 ns + 4 ns 25 ns the equation is satisfied and data will be available at every clock period with data hold setting at one clock. if t chqv (ns) + t data (ns) > one clk period (ns), data hold setting of 2 clock periods must be used. 11.2.5 wait delay the wait delay (wd) bit controls the wait assertion-delay behavior during synchronous burst reads. wait can be asserted either during or one data cycle before valid data is output on dq[15:0]. when wd is set, wait is deasserted one data cycle before valid data (default). when wd is cleared, wait is deasserted during valid data. all asynchronous reads deasserted 1 all writes high-z 1,2 notes: 1. active: wait is asserted until data becomes valid, then deasserts 2. when oe# = v ih during writes, wait = high-z table 21: wait functionality table (sheet 2 of 2) condition wait notes figure 15: data hold timing valid output valid output valid output valid output valid output clk [c] d[15:0] [q] d[15:0] [q] 2 clk data hold 1 clk data hold
august 2008 datasheet order number: 306666-12 45 p30 11.2.6 burst sequence the burst sequence (bs) bit selects linear-burst sequence (default). only linear-burst sequence is supported. ta b l e 2 2 shows the synchronous burst sequence for all burst lengths, as well as the effect of the burst wrap (bw) setting. 11.2.7 clock edge the clock edge (ce) bit selects either a rising (default) or falling clock edge for clk. this clock edge is used at the start of a burst cycle, to output synchronous data, and to assert/deassert wait. table 22: burst sequence word ordering start addr. (dec) burst wrap (rcr[3]) burst addressing sequence (dec) 4-word burst (bl[2:0] = 0b001) 8-word burst (bl[2:0] = 0b010) 16-word burst (bl[2:0] = 0b011) continuous burst (bl[2:0] = 0b111) 0 0 0-1-2-3 0-1-2-3-4-5-6-7 0-1-2-3-4?14-15 0-1-2-3-4-5-6-? 1 0 1-2-3-0 1-2-3-4-5-6-7-0 1-2-3-4-5?15-0 1-2-3-4-5-6-7-? 2 0 2-3-0-1 2-3-4-5-6-7-0-1 2-3-4-5-6?15-0-1 2-3-4-5-6-7-8-? 3 0 3-0-1-2 3-4-5-6-7-0-1-2 3-4-5-6-7?15-0-1-2 3-4-5-6-7-8-9-? 40 4-5-6-7-0-1-2-3 4-5-6-7-8?15-0-1-2-3 4-5-6-7-8-9-10? 50 5-6-7-0-1-2-3-4 5-6-7-8-9?15-0-1-2-3-4 5-6-7-8-9-10-11? 60 6-7-0-1-2-3-4-5 6-7-8-9-10?15-0-1-2-3-4- 5 6-7-8-9-10-11-12-? 70 7-0-1-2-3-4-5-6 7-8-9-10?15-0-1-2-3-4-5- 6 7-8-9-10-11-12-13? ? ? ? ? ? ? 14 0 14-15-0-1-2?12-13 14-15-16-17-18-19-20-? 15 0 15-0-1-2-3?13-14 15-16-17-18-19-20-21-? ? ? ? ? ? ? 0 1 0-1-2-3 0-1-2-3-4-5-6-7 0-1-2-3-4?14-15 0-1-2-3-4-5-6-? 1 1 1-2-3-4 1-2-3-4-5-6-7-8 1-2-3-4-5?15-16 1-2-3-4-5-6-7-? 2 1 2-3-4-5 2-3-4-5-6-7-8-9 2-3-4-5-6?16-17 2-3-4-5-6-7-8-? 3 1 3-4-5-6 3-4-5-6-7-8-9-10 3-4-5-6-7?17-18 3-4-5-6-7-8-9-? 41 4-5-6-7-8-9-10-11 4-5-6-7-8?18-19 4-5-6-7-8-9-10? 51 5-6-7-8-9-10-11-12 5-6-7-8-9?19-20 5-6-7-8-9-10-11? 61 6-7-8-9-10-11-12-13 6-7-8-9-10?20-21 6-7-8-9-10-11-12-? 71 7-8-9-10-11-12-13- 14 7-8-9-10-11?21-22 7-8-9-10-11-12-13? ? ? ? ? ? ? 14 1 14-15-16-17-18?28-29 14-15-16-17-18-19-20-? 15 1 15-16-17-18-19?29-30 15-16-17-18-19-20-21-?
p30 datasheet august 2008 46 306666-12 11.2.8 burst wrap the burst wrap (bw) bit determines whether 4-word, 8-word, or 16-word burst length accesses wrap within the selected word-length boundaries or cross word-length boundaries. when bw is set, burst wrapping does not occur (default). when bw is cleared, burst wrapping occurs. when performing synchronous burst reads with bw set (no wrap), an output delay may occur when the burst sequence crosses its first device-row (16-word) boundary. if the burst sequence?s start address is 4-word aligned, then no delay occurs. if the start address is at the end of a 4-word boundary, the worst case output delay is one clock cycle less than the first access latency count. this delay can take place only once, and doesn?t occur if the burst sequence does not cross a device-row boundary. wait informs the system of this delay when it occurs. 11.2.9 burst length the burst length bit (bl[2:0]) selects the linear burst length for all synchronous burst reads of the flash memory array. the burst lengths are 4-word, 8-word, 16-word, and continuous word. continuous-burst accesses are linear only, and do not wrap within any word length boundaries (see table 22, ?burst sequence word ordering? on page 45 ). when a burst cycle begins, the device outputs synchronous burst data until it reaches the end of the ?burstable? address space. 11.2.10 end of word line (eowl) considerations when performing synchronous burst reads with bw set (no wrap) and dh reset (1 clock cycle), an output ?delay? requiring additions clock wait states may occur when the burst sequence crosses its first device-row (16-word) boundary. the delay would take place only once, and will not occur if the burst sequence does not cross a device-row boundary. the wait signal informs the system of this delay when it occurs. if the burst sequence?s start address is 4-word aligned (i.e. 0x00h, 0x04h, 0x08h, 0x0ch) then no delay occurs. if the start address is at the end of a 4-word boundary (i.e. 0x03h, 0x07h, 0x0bh, 0x0fh), the worst case delay (number of wait states required) will be one clock cycle less than the first access latency count (lc-1) when crossing the first device-row boundary (i.e. 0x0fh to 0x10h). other address misalignments may require wait states depending upon the lc setting and the starting address alignment. for example, an lc setting of 3 with a starting address of 0xfd requires 0 wait states, but the same lc setting of 3 with a starting address of 0xfe would require 1 wait state when crossing the first device row boundary. 11.3 one-time-programmable (otp) registers the device contains 17 one-time-programmable (otp) registers that can be used to implement system security measures and/or device identification. each otp register can be individually locked. the first 128-bit otp register is comprised of two 64-bit (8-word) segments. the lower 64-bit segment is pre-programmed at the numonyx factory with a unique 64-bit number. the other 64-bit segment, as well as the other sixteen 128-bit otp registers, are blank. users can program these registers as needed. when programmed, users can then lock the otp register(s) to prevent additional bit programming (see figure 16, ?otp register map? on page 47 ). the otp registers contain one-time programmable (otp) bits; when programmed, pr bits cannot be erased. each otp register can be accessed multiple times to program individual bits, as long as the register remains unlocked.
august 2008 datasheet order number: 306666-12 47 p30 each otp register has an associated lock register bit. when a lock register bit is programmed, the associated otp register can only be read; it can no longer be programmed. additionally, because the lock register bits themselves are otp, when programmed, lock register bits cannot be erased. therefore, when a otp register is locked, it cannot be unlocked. . 11.3.1 reading the otp registers the otp registers can be read from any address. to read the otp register, first issue the read device identifier command at any address to place the device in the read device identifier state (see section 6.0, ?command set? on page 23 ). next, perform a read operation using the address offset corresponding to the register to be read. table 13, ?device identifier information? on page 27 shows the address offsets of the otp registers and lock registers. pr data is read 16 bits at a time. figure 16: otp register map 0x89 lock register 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x102 0x109 0x8a 0x91 128-bit protection register 16 (user-programmable) 128-bit protection register 1 (user-programmable) 0x88 0x85 64-bit segment (user-programmable) 0x84 0x81 0x80 lock register 0 64-bit segment (factory-programmed) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 128-bit protection register 0
p30 datasheet august 2008 48 306666-12 11.3.2 programming the otp registers to program any of the otp registers, first issue the program otp register command at the parameter?s base address plus the offset to the desired otp register (see section 6.0, ?command set? on page 23 ). next, write the desired otp register data to the same otp register address (see figure 16, ?otp register map? on page 47 ). the device programs the 64-bit and 128-bit user-programmable otp register data 16 bits at a time (see figure 41, ?protection register programming flowchart? on page 86 ). issuing the program otp register command outside of the otp register?s address space causes a program error (sr[4] set). attempting to program a locked otp register causes a program error (sr[4] set) and a lock error (sr[1] set). note: when programming the otp bits in the otp registers for a top parameter device , the following upper address bits must also be driven properly: a[max:17] driven high (v ih ) for tsop and easy bga packages, and a[max:16] driven high (v ih ) for quad+ scsp. 11.3.3 locking the otp registers each otp register can be locked by programming its respective lock bit in the lock register. to lock a otp register, program the corresponding bit in the lock register by issuing the program lock register command, followed by the desired lock register data (see section 6.0, ?command set? on page 23 ). the physical addresses of the lock registers are 0x80 for register 0 and 0x89 for register 1. these addresses are used when programming the lock registers (see table 13, ?device identifier information? on page 27 ). bit 0 of lock register 0 is already programmed during the manufacturing process at the ?factory?, locking the lower, pre-programmed 64-bit region of the first 128-bit otp register containing the unique identification number of the device. bit 1 of lock register 0 can be programmed by the user to lock the user-programmable, 64-bit region of the first 128-bit otp register. when programming bit 1 of lock register 0, all other bits need to be left as ?1? such that the data programmed is 0xfffd. lock register 1 controls the locking of the upper sixteen 128-bit otp registers. each of the 16 bits of lock register 1 correspond to each of the upper sixteen 128-bit otp registers. programming a bit in lock register 1 locks the corresponding 128-bit otp register. caution: after being locked, the otp registers cannot be unlocked.
august 2008 datasheet order number: 306666-12 49 p30 12.0 power and reset specifications 12.1 power-up and power-down power supply sequencing is not required if vpp is connected to vcc or vccq. otherwise v cc and v ccq should attain their minimum operating voltage before applying v pp . power supply transitions should only occur when rst# is low. this protects the device from accidental programming or erasure during power transitions. 12.2 reset specifications asserting rst# during a system reset is important with automated program/erase devices because systems typically expect to read from flash memory when coming out of reset. if a cpu reset occurs without a flash memory reset, proper cpu initialization may not occur. this is because the flash memory may be providing status information, instead of array data as expected. connect rst# to the same active low reset signal used for cpu initialization. also, because the device is disabled when rst# is asserted, it ignores its control inputs during power-up/down. invalid bus conditions are masked, providing a level of memory protection. table 23: reset specifications num symbol parameter min max unit notes p1 t plph rst# pulse width low 100 - ns 1,2,3,4 p2 t plrh rst# low to device reset during erase - 25 s 1,3,4,7 rst# low to device reset during program - 25 1,3,4,7 p3 t vccph v cc power valid to rst# de-assertion (high) 130nm 60 - 1,4,5,6 v cc power valid to rst# de-assertion (high) 65nm 300 - 1,4,5,6 notes: 1. these specifications are valid for all device versions (packages and speeds). 2. the device may reset if t plph is < t plph min , but this is not guaranteed. 3. not applicable if rst# is tied to vcc. 4. sampled, but not 100% tested. 5. when rst# is tied to the v cc supply, device will not be ready until t vccph after v cc v ccmin . 6. when rst# is tied to the v ccq supply, device will not be ready until t vccph after v cc v ccmin . 7. reset completes within t plph if rst# is asserted while no erase or program operation is executing.
p30 datasheet august 2008 50 306666-12 12.3 power supply decoupling flash memory devices require careful power supply de-coupling. three basic power supply current considerations are 1) standby current levels, 2) active current levels, and 3) transient peaks produced when ce# and oe# are asserted and deasserted. when the device is accessed, many internal conditions change. circuits within the device enable charge-pumps, and internal logic states change at high speed. all of these internal activities produce transient signals. transient current magnitudes depend on the device outputs? capacitive and indu ctive loading. two-line control and correct de-coupling capacitor selection suppress transient voltage peaks. because numonyx multi-level cell (mlc) flash memory devices draw their power from vcc, vpp, and vccq, each power connection should have a 0.1 f ceramic capacitor to ground. high-frequency, inherently low-inductance capacitors should be placed as close as possible to package leads. additionally, for every eight devices used in the system, a 4.7 f electrolytic capacitor should be placed between power and ground close to the devices. the bulk capacitor is meant to overcome voltage droop caused by pcb trace inductance. figure 17: reset operation waveforms ( a) reset during read mode (b) reset during program or block erase p1 p2 (c) reset during program or block erase p1 p2 v ih v il v ih v il v ih v il rst# [p] rst# [p] rst# [p] abort complete abort complete v cc 0v v cc (d) vcc power-up to rst# high p1 r5 p2 p3 p2 r5 r5
august 2008 datasheet order number: 306666-12 51 p30 13.0 maximum ratings and operating conditions 13.1 absolute maximum ratings warning: stressing the device beyond the ?absolute maximum ratings? may cause permanent damage. these are stress ratings only. 13.2 operating conditions note: operation beyond the ?operating conditions? is not recommended and extended exposure beyond the ?operating conditions? may affect device reliability. table 24: maximum ratings parameter maximum rating notes temperature under bias ?40 c to +85 c storage temperature ?65 c to +125 c voltage on any signal (except v cc , vpp and vccq) ?0.5 v to +4.1 v 1 vpp voltage ?0.2 v to +10 v 1,2,3 vcc voltage ?0.2 v to +2.5 v 1 vccq voltage ?0.2 v to +4.1 v 1 output short circuit current 100 ma 4 notes: 1. voltages shown are specified with respect to v ss . minimum dc voltage is ?0.5 v on input/output signals and ?0.2 v on v cc , v ccq , and v pp . during transitions, this level may undershoot to ?2.0 v for periods less than 20 ns. maximum dc voltage on v cc is v cc + 0.5 v, which, during transitions, may overshoot to v cc + 2.0 v for periods less than 20 ns. maximum dc voltage on input/output signals and v ccq is v ccq + 0.5 v, which, during transitions, may overshoot to v ccq + 2.0 v for periods less than 20 ns. 2. maximum dc voltage on v pp may overshoot to +11.5 v for periods less than 20 ns. 3. program/erase voltage is typically 1.7 v ? 2.0 v. 9.0 v can be applied for 80 hours maximum total, to any blocks for 1000 cycles maximum. 9.0 v program/erase voltage may reduce block cycling capability. 4. output shorted for no more than one second. no more than one output shorted at a time. table 25: operating conditions symbol parameter min max units notes t c operating temperature ?40 +85 c 1 v cc v cc supply voltage 1.7 2.0 v 3 v ccq i/o supply voltage cmos inputs 1.7 3.6 ttl inputs 2.4 3.6 v ppl v pp voltage supply (logic level) 0.9 3.6 2 v pph factory word programming v pp 8.5 9.5 t pph maximum v pp hours v pp = v pph -80hours block erase cycles main and parameter blocks v pp = v ppl 100,000 - cycles main blocks v pp = v pph - 1000 parameter blocks v pp = v pph - 2500 notes: 1. t c = case temperature. 2. in typical operation vpp program voltage is v ppl . 3. 40mhz burst operation on the tsop package has a min v cc value of 1.85v. please refer to the latest specification update regarding synchronous burst operation with the tsop package
p30 datasheet august 2008 52 306666-12 14.0 electrical specifications 14.1 dc current characteristics table 26: dc current characteristics (sheet 1 of 2) sym parameter cmos inputs (v ccq = 1.7 v - 3.6 v) ttl inputs (v ccq = 2.4 v - 3.6 v) unit test conditions notes typ max typ max i li input load current - 1 - 2 a v cc = v cc max v ccq = v ccq max v in = v ccq or v ss 1 i lo output leakage current dq[15:0], wait -1-10a v cc = v cc max v ccq = v ccq max v in = v ccq or v ss i ccs , i ccd v cc standby, power down 64-mbit 20 35 20 35 a v cc = v cc max v ccq = v ccq max ce# = v ccq rst# = v ccq (for i ccs ) rst# = v ss (for i ccd ) wp# = v ih 1,2 128-mbit 30 75 30 75 256-mbit 55 115 55 200 512-mbit 110 230 110 400 i ccr average v cc read current asynchronous single- word f = 5 mhz (1 clk) 14 16 14 16 ma 1-word read v cc = v cc max ce# = v il oe# = v ih inputs: v il or v ih 1 page-mode read f = 13 mhz (5 clk) 9 10 9 10 ma 4-word read synchronous burst f = 40 mhz 13 17 n/a n/a ma bl = 4w 15 19 n/a n/a ma bl = 8w 17 21 n/a n/a ma bl = 16w 21 26 n/a n/a ma bl = cont. synchronous burst f = 52mhz 16 19 n/a n/a ma bl = 4w 19 23 n/a n/a ma bl = 8w 22 26 n/a n/a ma bl = 16w 23 28 n/a n/a ma bl = cont. i ccw, i cce v cc program current, v cc erase current 36 51 36 51 ma v pp = v ppl , pgm/ers in progress 1,3,5 26 33 26 33 v pp = v pph , pgm/ers in progress 1,3,5 i ccws, i cces v cc program suspend current, v cc erase suspend current 64-mbit 20 35 20 35 a ce# = v ccq ; suspend in progress 1,3,4 128-mbit 30 75 30 75 256-mbit 55 115 55 200 512-mbit 110 230 110 400 i pps, i ppws, ippes v pp standby current, v pp program suspend current, v pp erase suspend current 0.2 5 0.2 5 a v pp = v ppl , suspend in progress 1,3 i ppr v pp read 2 15 2 15 a v pp = v ppl 1,3 i ppw v pp program current 0.05 0.10 0.05 0.10 ma v pp = v ppl, program in progress 822822 v pp = v pph, program in progress
august 2008 datasheet order number: 306666-12 53 p30 14.2 dc voltage characteristics i ppe v pp erase current 0.05 0.10 0.05 0.10 ma v pp = v ppl, erase in progress 822822 v pp = v pph, erase in progress notes: 1. all currents are rms unless noted. typical values at typical v cc , t c = +25 c. 2. i ccs is the average current measured over any 5 ms time interval 5 s after ce# is deasserted. 3. sampled, not 100% tested. 4. i cces is specified with the device deselected. if device is read while in erase suspend, current is i cces plus i ccr . 5. i ccw , i cce measured over typical or max times specified in section 16.0, ?program and erase characteristics? on page 66 . table 27: dc voltage characteristics sym parameter cmos inputs (vccq = 1.7 v ? 3.6 v) ttl inputs (1) (vccq = 2.4 v ? 3.6 v) unit test condition notes min max min max v il input low voltage 0 0.400.6v 2 v ih input high voltage v ccq ? 0.4 v v ccq 2.0 v ccq v v ol output low voltage - 0.1 - 0.1 v v cc = v cc min v ccq = v ccq min i ol = 100 a v oh output high voltage v ccq ? 0.1 - v ccq ? 0.1 - v v cc = v cc min v ccq = v ccq min i oh = ?100 a v pplk v pp lock-out voltage - 0.4 - 0.4 v 3 v lko v cc lock voltage 1.0 - 1.0 - v v lkoq v ccq lock voltage 0.9 - 0.9 - v notes: 1. synchronous read mode is not supported with ttl inputs. 2. v il can undershoot to ?0.4 v and v ih can overshoot to v ccq + 0.4 v for durations of 20 ns or less. 3. v pp v pplk inhibits erase and program operations. do not use v ppl and v pph outside their valid ranges. table 26: dc current characteristics (sheet 2 of 2) sym parameter cmos inputs (v ccq = 1.7 v - 3.6 v) ttl inputs (v ccq = 2.4 v - 3.6 v) unit test conditions notes typ max typ max
p30 datasheet august 2008 54 306666-12 15.0 ac characteristics 15.1 ac test conditions note: ac test inputs are driven at v ccq for logic "1" and 0 v for logic "0." input/output timing begins/ends at v ccq /2. input rise and fall times (10% to 90%) < 5 ns. worst case speed occurs at v cc = v cc min. notes: 1. see the following table for component values. 2. test configuration component value for worst-case speed conditions. 3. c l includes jig capacitance. . figure 18: ac input/output reference waveform figure 19: transient equivalent testing load circuit table 28: test configuration component value for worst case speed conditions test configuration c l (pf) v ccq min standard test 30 figure 20: clock input ac waveform io_ref.wmf input v ccq /2 v ccq /2 output v ccq 0v test points device under test out c l clk [c] v ih v il r203 r202 r201
august 2008 datasheet order number: 306666-12 55 p30 15.2 capacitance 15.3 ac read specifications table 29: capacitance parameter signals min typ max unit condition notes input capacitance address, data, ce#, we#, oe#, rst#, clk, adv#, wp# 26 7 pf typ t em p = 25 c, max temp = 85 c, v cc = (0 v - 2.0 v), v ccq = (0 v - 3.6 v), discrete silicon die 1,2,3 output capacitance data, wait 2 4 5 pf notes: 1. capacitance values are for a single die; for 2-die and 4-die stacks, multiply the capacitance values by the number of dies in the stack. 2. sampled, but not 100% tested. 3. silicon die capacitance only; add 1 pf for discrete packages. table 30: ac read specifications for 64/128- mbit densities (sheet 1 of 2) num symbol parameter min max unit notes asynchronous specifications r1 t avav read cycle time 85 - ns r2 t avqv address to output valid - 85 ns r3 t elqv ce# low to output valid - 85 ns r4 t glqv oe# low to output valid - 25 ns 1,2 r5 t phqv rst# high to output valid - 150 ns 1 r6 t elqx ce# low to output in low-z 0 - ns 1,3 r7 t glqx oe# low to output in low-z 0 - ns 1,2,3 r8 t ehqz ce# high to output in high-z - 24 ns 1,3 r9 t ghqz oe# high to output in high-z - 24 ns r10 t oh output hold from first occurring address, ce#, or oe# change 0-ns r11 t ehel ce# pulse width high 20 - ns 1 r12 t eltv ce# low to wait valid - 17 ns r13 t ehtz ce# high to wait high-z - 20 ns 1,3 r15 t gltv oe# low to wait valid - 17 ns 1 r16 t gltx oe# low to wait in low-z 0 - ns 1,3 r17 t ghtz oe# high to wait in high-z - 20 ns latching specifications r101 t avvh address setup to adv# high 10 - ns 1 r102 t elvh ce# low to adv# high 10 - ns r103 t vlqv adv# low to output valid - 85 ns r104 t vlvh adv# pulse width low 10 - ns r105 t vhvl adv# pulse width high 10 - ns r106 t vhax address hold from adv# high 9 - ns 1,4
p30 datasheet august 2008 56 306666-12 r108 t apa page address access - 25 ns 1 r111 t phvh rst# high to adv# high 30 - ns clock specifications r200 f clk clk frequency -52mhz 1,3,5,6 tsop - 40 mhz r201 t clk clk period 19.2 - ns tsop 25 - ns r202 t ch/cl clk high/low time 5 - ns r203 t fclk/rclk clk fall/rise time - 3 ns synchronous specifications (5,6) r301 t avch/l address setup to clk 9 - ns 1 r302 t vlch/l adv# low setup to clk 9 - ns r303 t elch/l ce# low setup to clk 9 - ns r304 t chqv / tclqv clk to output valid - 17 ns r305 t chqx output hold from clk 3 - ns 1,7 r306 t chax address hold from clk 10 - ns 1,4,7 r307 t chtv clk to wait valid - 17 ns 1,7 r311 t chvl clk valid to adv# setup 3 - ns 1 r312 t chtx wait hold from clk 3 - ns 1,7 notes: 1. see figure 18, ?ac input/output reference waveform? on page 54 for timing measurements and max allowable input slew rate. 2. oe# may be delayed by up to t elqv ? t glqv after ce#?s falling edge without impact to t elqv. 3. sampled, not 100% tested. 4. address hold in synchronous burst mode is t chax or t vhax , whichever timing specification is satisfied first. 5. please see the latest p30 spec update for synchronous burst operation with the tsop package . 6. synchronous read mode is not supported with ttl level inputs. 7. applies only to subsequent synchronous reads. table 31: ac read specifications for 256/512-mbit densities (sheet 1 of 3) num symbol parameter speed min max unit notes asynchronous specifications r1 t avav read cycle time v cc = 1.8 v ? 2.0 v 85 - ns v cc = 1.7 v ? 2.0 v 88 - 256/512-mb tsop packages 95 r2 t avqv address to output valid v cc = 1.8 v ? 2.0 v -85 ns v cc = 1.7 v ? 2.0 v -88 256/512-mb tsop packages -95 table 30: ac read specifications for 64/128- mbit densities (sheet 2 of 2) num symbol parameter min max unit notes
august 2008 datasheet order number: 306666-12 57 p30 r3 t elqv ce# low to output valid v cc = 1.8 v ? 2.0 v -85 ns v cc = 1.7 v ? 2.0 v -88 256/512-mb tsop packages -95 r4 t glqv oe# low to output valid - 25 ns 1,2 r5 t phqv rst# high to output valid - 150 ns 1 r6 t elqx ce# low to output in low-z 0 - ns 1,3 r7 t glqx oe# low to output in low-z 0 - ns 1,2,3 r8 t ehqz ce# high to output in high-z - 24 ns 1,3 r9 t ghqz oe# high to output in high-z - 24 ns r10 t oh output hold from first occurring address, ce#, or oe# change 0-ns r11 t ehel ce# pulse width high 20 - ns 1 r12 t eltv ce# low to wait valid - 17 ns r13 t ehtz ce# high to wait high-z - 20 ns 1,3 r15 t gltv oe# low to wait valid - 17 ns 1 r16 t gltx oe# low to wait in low-z 0 - ns 1,3 r17 t ghtz oe# high to wait in high-z - 20 ns latching specifications r101 t avvh address setup to adv# high 10 - ns 1 r102 t elvh ce# low to adv# high 10 - ns r103 t vlqv adv# low to output valid v cc = 1.8 v ? 2.0 v -85 ns v cc = 1.7 v ? 2.0 v -88 256/512-mb tsop packages -95 r104 t vlvh adv# pulse width low 10 - ns r105 t vhvl adv# pulse width high 10 - ns r106 t vhax address hold from adv# high 9 - ns 1,4 r108 t apa page address access - 25 ns 1 r111 t phvh rst# high to adv# high 30 - ns clock specifications r200 f clk clk frequency - 52 mhz 1,3,5,6 tsop package - 40 mhz r201 t clk clk period 19.2 - ns tsop package 25 - ns r202 t ch/cl clk high/low time 5 - ns r203 t fclk/rclk clk fall/rise time - 3 ns synchronous specifications (5,6) table 31: ac read specifications for 256/512-mbit densities (sheet 2 of 3) num symbol parameter speed min max unit notes
p30 datasheet august 2008 58 306666-12 r301 t avch/l address setup to clk 9 - ns 1 r302 t vlch/l adv# low setup to clk 9 - ns r303 t elch/l ce# low setup to clk 9 - ns r304 t chqv / tclqv clk to output valid - 17 ns r305 t chqx output hold from clk 3 - ns 1,7 r306 t chax address hold from clk 10 - ns 1,4,7 r307 t chtv clk to wait valid - 17 ns 1,7 r311 t chvl clk valid to adv# setup 3 - ns 1 r312 t chtx wait hold from clk 3 - ns 1,7 notes: 1. see figure 18, ?ac input/output reference waveform? on page 54 for timing measurements and max allowable input slew rate. 2. oe# may be delayed by up to t elqv ? t glqv after ce#?s falling edge without impact to t elqv. 3. sampled, not 100% tested. 4. address hold in synchronous burst mode is t chax or t vhax , whichever timing specification is satisfied first. 5. please see the latest p30 spec update for synchronous burst operation with the tsop package . 6. synchronous read mode is not supported with ttl level inputs. 7. applies only to subsequent synchronous reads. table 31: ac read specifications for 256/512-mbit densities (sheet 3 of 3) num symbol parameter speed min max unit notes table 32: ac read specification differences for 65nm num symbol parameter min max unit notes asynchronous specifications r1 t avav read cycle time 100 - ns 2 tsop 110 ns 2 r2 t avqv address to output valid - 100 ns 2 tsop 110 ns 2 r3 t elqv ce# low to output valid - 100 ns 2 tsop 110 ns 2 r103 t vlqv adv# low to output valid - 100 ns 1,2 tsop 110 ns 2 notes: 1. see figure 18, ?ac input/output reference waveform? on page 54 for timing measurements and max allowable input slew rate. 2. this is the recommended specification for all new designs supporting both 130nm and 65nm lithos, or for new designs that will use the 65nm lithography.
august 2008 datasheet order number: 306666-12 59 p30 note: wait shown deasserted during asynchronous read mode (rcr[10]=0, wait asserted low). note: wait shown deasserted during asynchronous read mode (rcr[10]=0, wait asserted low). figure 21: asynchronous single-word read (adv# low) r5 r7 r6 r17 r15 r9 r4 r8 r3 r1 r2 r1 a ddress [a] adv# ce# [e} oe# [g] wait [t] data [d/q] rst # [p] figure 22: asynchronous single-word read (adv# latch) r10 r7 r6 r17 r15 r9 r4 r8 r3 r106 r1 01 r105 r105 r2 r1 a ddress [a] a[1:0][a] adv# ce# [e} oe# [g] wait [t] data [d/q]
p30 datasheet august 2008 60 306666-12 note: wait shown deasserted during asynchronous read mode (rcr[10]=0, wait asserted low). 1. wait is driven per oe# assertion during synchronous array or non-array read, and can be configured to assert either during or one data cycle before valid data. 2. this diagram illustrates the case in which an n-word burst is initiated to the flash memory array and it is terminated by ce# deassertion after the first word in the burst. figure 23: asynchronous page-mode read timing r108 r9 r7 r17 r15 r10 r4 r8 r3 r106 r101 r105 r105 r1 r1 r2 a [max:2] [a] a[1:0] adv# ce# [e] oe# [g] wait [t] data [d/q] figure 24: synchronous single-word array or non-array read timing r312 r305 r304 r4 r17 r307 r15 r9 r7 r8 r303 r102 r3 r104 r106 r101 r104 r105 r105 r2 r306 r301 clk [c] a d d re ss [ a ] adv# [v] ce# [e] oe# [g] wait [t] data [d/q]
august 2008 datasheet order number: 306666-12 61 p30 notes: 1. wait is driven per oe# assertion during synchronous array or non-array read, and can be configured to assert either during or one data cycle before valid data. 2. at the end of word line; the delay incurred when a burst access crosses a 16-word boundary and the starting address is not 4-word boundary aligned. note: wait is driven per oe# assertion during synchronous array or non-array read. wait asserted during initial latency and deasserted during valid data (rcr[10] = 0, wait asserted low). figure 25: continuous burst read, showing an output delay timing figure 26: synchronous burst-mode four-word read timing r305 r305 r305 r305 r304 r4 r7 r312 r307 r15 r303 r102 r3 r106 r105 r105 r101 r2 r304 r304 r304 r306 r302 r301 clk [c] a ddress [a] adv# [v] ce# [e] oe# [g] wait [t] data [d/q] y a q0 q1 q2 q3 r307 r10 r304 r305 r304 r4 r7 r17 r15 r9 r8 r303 r3 r106 r102 r105 r105 r101 r2 r306 r302 r301 clk [c] a ddress [a] adv# [v] ce# [e] oe# [g] wait [t] data [d/q]
p30 datasheet august 2008 62 306666-12 15.4 ac write specifications table 33: ac write specifications num symbol parameter min max unit notes w1 t phwl rst# high recovery to we# low 150 - ns 1,2,3 w2 t elwl ce# setup to we# low 0 - ns 1,2,3 w3 t wlwh we# write pulse width low 50 - ns 1,2,4 w4 t dvwh data setup to we# high 50 - ns 1,2 w5 t avwh address setup to we# high 50 - ns w6 t wheh ce# hold from we# high 0 - ns w7 t whdx data hold from we# high 0 - ns w8 t whax address hold from we# high 0 - ns w9 t whwl we# pulse width high 20 - ns 1,2,5 w10 t vpwh v pp setup to we# high 200 - ns 1,2,3,7 w11 t qvvl v pp hold from status read 0 - ns w12 t qvbl wp# hold from status read 0 - ns 1,2,3,7 w13 t bhwh wp# setup to we# high 200 - ns w14 t whgl we# high to oe# low 0 - ns 1,2,9 w16 t whqv we# high to read valid t avqv + 35 - ns 1,2,3,6,10 write to asynchronous read specifications w18 t whav we# high to address valid 0 - ns 1,2,3,6,8 write to synchronous read specifications w19 t whch/l we# high to clock valid 19 - ns 1,2,3,6,10 w20 t whvh we# high to adv# high 19 - ns write specifications with clock active w21 t vhwl adv# high to we# low - 20 ns 1,2,3,11 w22 t chwl clock high to we# low - 20 ns notes: 1. write timing characteristics during erase suspend are the same as write-only operations. 2. a write operation can be terminated with either ce# or we#. 3. sampled, not 100% tested. 4. write pulse width low (t wlwh or t eleh ) is defined from ce# or we# low (whichever occurs last) to ce# or we# high (whichever occurs first). hence, t wlwh = t eleh = t wleh = t elwh . 5. write pulse width high (t whwl or t ehel ) is defined from ce# or we# high (whichever occurs first) to ce# or we# low (whichever occurs last). hence, t whwl = t ehel = t whel = t ehwl ). 6. t whvh or t whch/l must be met when transitioning from a write cycle to a synchronous burst read. 7. v pp and wp# should be at a valid level until erase or program success is determined. 8. this specification is only applicable when transitioning from a write cycle to an asynchronous read. see spec w19 and w20 for synchronous read. 9. when doing a read status operation following any command that alters the status register, w14 is 20 ns. 10. add 10 ns if the write operation results in a rcr or block lock status change, for the subsequent read operation to reflect this change. 11. these specs are required only when the device is in a synchronous mode and clock is active during address setup phase.
august 2008 datasheet order number: 306666-12 63 p30 note: wait deasserted during asynchronous read and during write. wait high-z during write per oe# deasserted. figure 27: write-to-write timing w1 w7 w4 w7 w4 w3 w9 w3 w9 w3 w3 w6 w2 w6 w2 w8 w8 w5 w5 a ddress [a] ce# [e} we# [ w] oe# [g] data [d/q] rst# [p] figure 28: asynchronous read-to-write timing q d r5 w7 w4 r10 r7 r6 r17 r15 w6 w3 w3 w2 r9 r4 r8 r3 w8 w5 r1 r2 r1 a ddress [a] ce# [e} oe# [g] we # [w] wait [t] data [d/q] rst # [p]
p30 datasheet august 2008 64 306666-12 note: wait shown deasserted and high-z per oe# deassertion during write operation (rcr[10]=0, wait asserted low). clock is ignored during write operation. figure 29: write-to-asynchronous read timing d q w1 r9 r8 r4 r3 r2 w7 w4 r17 r15 w1 4 w18 w3 w3 r10 w6 w2 r1 r1 w8 w5 a d d re ss [ a ] adv# [v] ce# [e} we# [w] oe# [g] wait [t] data [d/q] rst# [p] figure 30: synchronous read-to-write timing latency count q d d w7 r305 r304 r7 r312 r307 r16 w15 w22 w21 w9 w8 w9 w3 w22 w21 w3 w2 r8 r4 w6 r11 r13 r11 r303 r3 r104 r104 r106 r102 r105 r105 w18 w5 r101 r2 r306 r302 r301 clk [c] a ddress [ a] adv# [v] ce# [e] oe# [g] we# wait [t] data [d/q]
august 2008 datasheet order number: 306666-12 65 p30 note: wait shown deasserted and high-z per oe# deassertion during write operation (rcr[10]=0, wait asserted low). figure 31: write-to-synchronous read timing d q q w1 r304 r305 r304 r3 w7 w4 r307 r15 r4 w20 w19 w18 w3 w3 r11 r303 r11 w6 w2 r104 r106 r104 r306 w8 w5 r302 r301 r2 clk a ddress [a] adv# ce# [e} we# [w] oe# [g] wait [t] data [d/q] rst# [p]
p30 datasheet august 2008 66 306666-12 16.0 program and erase characteristics table 34: program and erase specifications num symbol parameter v ppl v pph units notes min typ max min typ max conventional word programming w200 t prog/w program time single word - 130nm - 90 200 - 85 190 s 1 single word - 65nm - 150 456 - 150 456 single cell - 30 60 - 30 60 buffered programming w200 t prog/w program time single word - 90 200 - 85 190 s 1 w251 t buff 32-word buffer - 440 880 - 340 680 buffered enhanced factory programming w451 t befp/w program single word n/a n/a n/a - 10 - s 1,2 w452 t befp/setup befp setup n/a n/a n/a 5 - - 1 erasing and suspending w500 t ers/pb erase time 32-kbyte parameter - 0.4 2.5 - 0.4 2.5 s 1 w501 t ers/mb 128-kbyte main - 1.2 4.0 - 1.0 4.0 w600 t susp/p suspend latency program suspend - 20 25 - 20 25 s w601 t susp/e erase suspend - 20 25 - 20 25 w602 t ers/susp erase to suspend - 500 - - 500 - 1,3 notes: 1. typical values measured at t c = +25 c and nominal voltages. performance numbers are valid for all speed versions. excludes system overhead. sampled, but not 100% tested. 2. averaged over entire device. 3. w602 is the typical time between an initial block erase or erase resume command and the a subsequent erase suspend command. violating the specification repeatedly during any particular block erase may cause erase failures.
august 2008 datasheet order number: 306666-12 67 p30 17.0 ordering information 17.1 discrete products figure 32: decoder for discrete p30 f 6 4 p 3 0 b 8 e 2 t 0 product line designator 28f = intel? flash memory package designator te = 56-lead tsop, leaded js = 56-lead tsop, lead-free rc = 64-ball easy bga, leaded pc = 64-ball easy bga, lead-free device density 640 = 64-mbit 128 = 128-mbit 256 = 256-mbit product family p30 = intel strataflash? embedded memory v cc = 1.7 ? 2.0 v v ccq = 1.7 ? 3.6 v access speed 85 ns parameter location b = bottom parameter t = top parameter 8 5 table 35: valid combinations for discrete products 64-mbit 128-mbit 256-mbit te28f640p30b85 te28f128p30b85 te28f256p30b95 te28f640p30t85 te28f128p30t85 te28f256p30t95 js28f640p30b85 js28f128p30b85 js28f256p30b95 js28f640p30t85 js28f128p30t85 js28f256p30t95 rc28f640p30b85 rc28f128p30b85 rc28f256p30b85 rc28f640p30t85 rc28f128p30t85 rc28f256p30t85 pc28f640p30b85 pc28f128p30b85 pc28f256p30b85 pc28f640p30t85 pc28f128p30t85 pc28f256p30t85
p30 datasheet august 2008 68 306666-12 17.2 scsp products note: for 512-mbit only, ?b? is used for both top and bottom parameter/mux configurations. note: * the ?b? parameter is used for both ?top? and ?bottom? options in the 512-mbit density. figure 33: decoder for scsp p30 table 36: valid combinations for dual- die products 64-mbit 128-mbit 256-mbit 512-mbit * rd48f2000p0zbq0 rd48f3000p0zbq0 rd48f4000p0zbq0 rd48f4400p0vbq0 rd48f2000p0ztq0 rd48f3000p0ztq0 rd48f4000p0ztq0 pf48f4400p0vbq0 pf48f2000p0zbq0 pf48f3000p0zbq0 pf48f4000p0zbq0 rc48f4400p0vb00 pf48f2000p0ztq0 pf48f3000p0ztq0 pf48f4000p0ztq0 pc48f4400p0vb00 te48f4400p0vb00 JS48F4400P0VB00 f 4 0 p 0 z b 8 d 4 r 0 0 q group designator 48f = flash memory only package designator rd = intel ? scsp, leaded pf = intel ? scsp, lead-free rc = 64-ball easy bga, leaded pc = 64-ball easy bga, lead-free te = 56-lead tsop, leaded js = 56-lead tsop, lead-free flash density 0 = no die 2 = 64-mbit 3 = 128-mbit 4 = 256-mbit flash #1 flash #2 flash #3 flash #4 flash family 1/2 flash family 3/4 0 product family p = intel strataflash? embedded memory 0 = no die device details 0 = original version of the product (refer to the latest version of the datasheet for details) ballout designator q = quad+ ballout 0 = discrete ballout parameter, mux configuration b = bottom parameter, non mux t = top parameter, non mux i/o voltage, ce# configuration z = individual chip enable(s) v = virtual chip enable(s) v cc = 1.7 v ? 2.0 v v ccq = 1.7 v ? 3.6 v
august 2008 datasheet order number: 306666-12 69 p30 appendix a supplemental reference information a.1 common flash interface tables the common flash interface (cfi) is part of an overall specification for multiple command-set and control-interface descriptions. this appendix describes the database structure containing the data returned by a read operation after issuing the read cfi command (see section 6.0, ?command set? on page 23 ). system software can parse this database structure to obtain information about the flash device, such as block size, density, bus width, and electrical specifications. the system software will then know which command set(s) to use to properly perform flash writes, block erases, reads and otherwise control the flash device. a.1.1 cfi structure output the cfi database allows system software to obtain information for controlling the flash device. this section describes the device?s cfi-compliant interface that allows access to cfi data. cfi data are presented on the lowest-order data outputs (dq 7-0 ) only. the numerical offset value is the address relative to the maximum bus width supported by the device. on this family of devices, the cfi table device starting address is a 10h, which is a word address for x16 devices. for a word-wide (x16) device, the first two cfi-structure bytes, ascii ?q? and ?r,? appear on the low byte at word addresses 10h and 11h. this cfi-compliant device outputs 00h data on upper bytes. the device outputs ascii ?q? in the low byte (dq 7-0 ) and 00h in the high byte (dq 15-8 ). at cfi addresses containing two or more bytes of information, the least significant data byte is presented at the lower address, and the most significant data byte is presented at the higher address. in all of the following tables, addresses and data are represented in hexadecimal notation, so the ?h? suffix has been dropped. in addition, since the upper byte of word- wide devices is always ?00h,? the leading ?00? has been dropped from the table notation and only the lower byte value is shown. any x16 device outputs can be assumed to have 00h on the upper byte in this mode. table 37: summary of cfi structure output as a function of device and mode device hex offset hex code a scii v alue 00010: 51 "q" device addresses 00011: 52 "r" 00012: 59 "y"
p30 datasheet august 2008 70 306666-12 table 38: example of cfi structure output of x16- devices a.1.2 cfi structure overview the cfi command causes the flash component to display the common flash interface (cfi) cfi structure or ?database.? the structure sub-sections and address locations are summarized below. table 39: cfi structure notes: 1. refer to the cfi structure output section and offset 28h for the detailed definition of offset address as a function of devic e bus width and mode. 2. ba = block address beginning location (i.e., 08000h is block 1?s beginning location when the block size is 32-kword). 3. offset 15 defines ?p? which points to the primary numonyx-specific extended cfi table. a.1.3 read cfi identification string the identification string provides verification that the component supports the common flash interface specification. it also indicates the specification version and supported vendor-specified command set(s). table 40: cfi identification word addressin g : b y te addressin g : offset hex code value offset hex code value a x ?a 0 d 15 ? d 0 a x ?a 0 d 7 ? d 0 00010h 0051 "q" 00010h 51 "q" 00011h 0052 "r" 00011h 52 "r" 00012h 0059 "y" 00012h 59 "y" 00013h p_id lo prvendor 00013h p_id lo prvendo r 00014h p_id hi id # 00014h p_id lo id # 00015h p lo prvendor 00015h p_id hi id # 00016h p hi tblad r 00016h ... ... 00017h a _id lo altvendor 00017h 00018h a _id hi id # 00018h ... ... ... ... offset sub-section name descri p tion (1) 00001-fh reserved reserved for vendor-specific information 00010h cfi query identification string command set id and vendor data offset 0001bh system interface information device timing & voltage information 00027h device geometry definition flash device layout p (3) primary intel-specific extended query table vendor-defined additional information specific to the primary vendor algorithm offset length description add. hex code value 10h 3 query-unique ascii string ?qry? 10: --51 "q" 11: --52 "r" 12: --59 "y" 13h 2 primary vendor command set and control interface id code. 13: --01 16-bit id code for vendor-s p ecified al g orithms 14: --00 15h 2 extended query table primary algorithm address 15: --0a 16: --01 17h 2 alternate vendor command set and control interface id code. 17: --00 0000h means no second vendor-specified algorithm exists 18: --00 19h 2 secondary algorithm extended query table address. 19: --00 0000h means none exists 1a: --00
august 2008 datasheet order number: 306666-12 71 p30 table 41: system interface information offset length description add. hex code value 1bh 1 1b: --17 1.7v 1ch 1 1c: --20 2.0v 1dh 1 1d: --85 8.5v 1eh 1 1e: --95 9.5v 1fh 1 ?n? such that t yp ical sin g le word p ro g ram time-out = 2 n s 20h 1 ?n? such that t yp ical max. buffer write time-out = 2 n s 21h 1 ?n? such that t yp ical block erase time-out = 2 n m-sec 21: --0a 1s 22h 1 ?n? such that t yp ical full chi p erase time-out = 2 n m-sec 22: --00 na 23h 1 ?n? such that maximum word p ro g ram time-out = 2 n times t yp ical 23: --01 512 s 24h 1 ?n? such that maximum buffer write time-out = 2 n times t yp ical 24: --01 1024 s 25h 1 ?n? such that maximum block erase time-out = 2 n times t yp ical 25: --02 4s 26h 1 ?n? such that maximum chi p erase time-out = 2 n times t yp ical 26: --00 na v pp [programming] supply minimum program/erase voltage bits 0?3 bcd 100 mv bits 4?7 hex volts v pp [programming] supply maximum program/erase voltage bits 0?3 bcd 100 mv bits 4?7 hex volts v cc logic supply minimum program/erase voltage bits 0?3 bcd 100 mv bits 4?7 bcd volts v cc logic supply maximum program/erase voltage bits 0?3 bcd 100 mv bits 4?7 bcd volts
p30 datasheet august 2008 72 306666-12 a.1.4 device geometry definition table 42: device geometry definition offset len g th description code 27h 1 ?n? such that device size = 2 n in number of bytes 27: see table below 76543210 28h 2 ? ? ? ? x64 x32 x16 x8 28: --01 x16 15 14 13 12 11 10 9 8 ????????29:--00 2ah 2 ?n? such that maximum number of bytes in write buffer = 2 n 2a: --06 64 2b: --00 2ch 1 2c: 2dh 4 erase block region 1 information 2d: bits 0?15 = y, y+1 = number of identical-size erase blocks 2e: bits 16?31 = z, region erase block(s) size are z x 256 bytes 2f: 30: 31h 4 erase block region 2 information 31: bits 0?15 = y, y+1 = number of identical-size erase blocks 32: bits 16?31 = z, region erase block(s) size are z x 256 bytes 33: 34: 35h 4 reserved for future erase block region information 35: 36: 37: 38: see table below see table below see table below see table below flash device interface code assignment: "n" such that n+1 specifies the bit field that represents the flash device width capabilities as described in the table: number of erase block regions (x) within device: 1. x = 0 means no erase blocking; the device erases in bulk 2. x specifies the number of device regions with one or more contiguous same-size erase blocks. 3. symmetrically blocked partitions have one blocking region address 64-mbit ?b ?t ?b ?t ?b ?t 27: --17 --17 --18 --18 --19 --19 28: --01 --01 --01 --01 --01 --01 29: --00 --00 --00 --00 --00 --00 2a: --06 --06 --06 --06 --06 --06 2b: --00 --00 --00 --00 --00 --00 2c: --02 --02 --02 --02 --02 --02 2d: --03 --3e --03 --7e --03 --fe 2e: --00 --00 --00 --00 --00 --00 2f: --80 --00 --80 --00 --80 --00 30: --00 --02 --00 --02 --00 --02 31: --3e --03 --7e --03 --fe --03 32: --00 --00 --00 --00 --00 --00 33: --00 --80 --00 --80 --00 --80 34: --02 --00 --02 --00 --02 --00 35: --00 --00 --00 --00 --00 --00 36: --00 --00 --00 --00 --00 --00 37: --00 --00 --00 --00 --00 --00 38: --00 --00 --00 --00 --00 --00 128-mbit 256-mbit
august 2008 datasheet order number: 306666-12 73 p30 a.1.5 numonyx-specific extended cfi table table 43: primary vendor-specific extended cfi discrete ? b ? t ?- ?- die 1 (b) die 2 (t) die 1 (t) die 2 (b) 112: --00 --00 --40 --00 --40 --00 512-mbit address ?b ?t offset (1) length descri p tion hex p = 10ah (optional flash features and commands) a dd. code v alue (p+0)h 3 primary extended query table 10a --50 "p" (p+1)h unique ascii string ?pri? 10b: --52 "r" (p+2)h 10c: --49 "i" (p+3)h 1 major version number, ascii 10d: --31 "1" (p+4)h 1 minor version number, ascii 10e: --34 "4" (p+5)h 4 optional feature and command support (1=yes, 0=no) 10f: --e6 (p+6)h bits 11?29 are reserved; undefined bits are ?0.? if bit 31 is 110: --01 (p+7)h ?1? then another 31 bit field of o p tional features follows at 111: --00 (p+8)h the end of the bit?30 field. 112: bit 0 chip erase supported bit 0 = 0 no bit 1 suspend erase supported bit 1 = 1 yes bit 2 suspend program supported bit 2 = 1 yes bit 3 legacy lock/unlock supported bit 3 = 0 no bit 4 queued erase supported bit 4 = 0 no bit 5 instant individual block locking supported bit 5 = 1 yes bit 6 protection bits supported bit 6 = 1 yes bit 7 pagemode read supported bit 7 = 1 yes bit 8 synchronous read supported bit 8 = 1 yes bit 9 simultaneous operations supported bit 9 = 0 no bit 10 extended flash array blocks supported bit 10 = 0 no bit 30 cfi link(s) to follow bit 30 bit 31 another "optional features" field to follow bit 31 (p+9)h 1 113: --01 bit 0 pro g ram su pp orted after erase sus p end bit 0 = 1 yes (p+a)h 2 block status register mask 114: --03 (p+b)h bits 2?15 are reserved; undefined bits are ?0? 115: --00 bit 0 block lock-bit status register active bit 0 = 1 yes bit 1 block lock-down bit status active bit 1 = 1 yes bit 4 efa block lock-bit status register active bit 4 = 0 no bit 5 efa block lock-down bit status active bit 5 = 0 no (p+c)h 1 116: --18 1.8v (p+d)h 1 117: --90 9.0v see table below see table below v cc logic supply highest performance program/erase voltage bits 0?3 bcd value in 100 mv bits 4?7 bcd value in volts supported functions after suspend: read array, status, query other supported operations are: bits 1?7 reserved; undefined bits are ?0? v pp optimum program/erase supply voltage bits 0?3 bcd value in 100 mv bits 4?7 hex value in volts
p30 datasheet august 2008 74 306666-12 table 44: protection register information table 45: burst read information offset (1) len g th description hex p = 10ah (optional flash features and commands) a dd. code v alue (p+e)h 1 118: --02 2 (p+f)h 4 protection field 1: protection description 119: --80 80h (p+10)h this field describes user-available one time programmable 11a: --00 00h (p+11)h ( otp ) protection re g ister b y tes. some are pre-pro g rammed 11b: --03 8 byte (p+12)h 11c: --03 8 byte (p+13)h 10 protection field 2: protection description 11d: --89 89h (p+14)h 11e: --00 00h (p+15)h 11f: --00 00h (p+16)h 120: --00 00h (p+17)h 121: --00 0 (p+18)h bits 40?47 = ?n? n = factory pgm'd groups (high byte) 122: --00 0 (p+19)h 123: --00 0 (p+1a)h 124: --10 16 (p+1b)h 125: --00 0 (p+1c)h 126: --04 16 bits 48?55 = ?n? \ 2n = factory programmable bytes/group bits 56?63 = ?n? n = user pgm'd groups (low byte) bits 64?71 = ?n? n = user pg m'd g rou p s ( hi g h b y te ) bits 72?79 = ?n? 2 n = user programmable bytes/group with device-unique serial numbers. others are user programmable. bits 0?15 point to the protection register lock byte, the section?s first byte. the following bytes are factory pre-programmed and user-programmable. bits 0?7 = lock/bytes jedec-plane physical low address bits 8?15 = lock/bytes jedec-plane physical high address bits 16?23 = ?n? such that 2 n = factory pre-programmed bytes bits 24?31 = ?n? such that 2 n = user programmable bytes bits 0?31 point to the protection register physical lock-word address in the jedec-plane. following bytes are factory or user-programmable. bits 32?39 = ?n? n = factory pgm'd groups (low byte) number of protection register fields in jedec id space. ?00h,? indicates that 256 protection fields are available offset (1) len g th description hex p = 10ah (optional flash features and commands) a dd. code v alue (p+1d)h 1 127: --03 8 byte (p+1e)h 1 128: --04 4 (p+1f)h 1 129: --01 4 (p+20)h 1 synchronous mode read capability configuration 2 12a: --02 8 (p+21)h 1 synchronous mode read capability configuration 3 12b: --03 16 (p+22)h 1 synchronous mode read capability configuration 4 12c: --07 cont page mode read capability bits 0?7 = ?n? such that 2 n hex value represents the number of read-page bytes. see offset 28h for device word width to determine page-mode data output width. 00h indicates no read p a g e buffer. number of synchronous mode read configuration fields that follow. 00h indicates no burst capability. synchronous mode read capability configuration 1 bits 3?7 = reserved bits 0?2 ?n? such that 2 n+1 hex value represents the maximum number of continuous synchronous reads when the device is configured for its maximum word width. a value of 07h indicates that the device is capable of continuous linear bursts that will output data until the internal burst counter reaches the end of the device?s burstable address space. this field?s 3-bit value can be written directly to the read configuration register bits 0?2 if the device is configured for its maximum word width. see offset 28h for word width to determine the burst data out p ut width.
august 2008 datasheet order number: 306666-12 75 p30 table 46: partition and erase block region information table 47: partition region 1 information offset (1) see table below p = 10ah descri p tion a ddress bottom to p ( o p tional flash features and commands ) len bot top (p+23)h (p+23)h 1 12d: 12d: number of device hardware-partition regions within the device. x = 0: a single hardware partition device (no fields follow). x specifies the number of device partition regions containing one or more contiguous erase block regions. offset (1) see table below p = 10ah descri p tion a ddress bottom to p ( o p tional flash features and commands ) len bot top (p+24)h (p+24)h data size of this parition region information field 2 12e: 12e (p+25)h (p+25)h (# addressable locations, including this field) 12f 12f (p+26)h (p+26)h number of identical partitions within the partition region 2 130: 130: (p+27)h (p+27)h 131: 131: (p+28)h (p+28)h 1 132: 132: (p+29)h (p+29)h 1 133: 133: (p+2a)h (p+2a)h 1 134: 134: (p+2b)h (p+2b)h 1 135: 135: types of erase block regions in this partition region. x = 0 = no erase blocking; the partition region erases in bulk x = number of erase block regions w/ contiguous same-size erase blocks. symmetrically blocked partitions have one blocking region. partition size = (type 1 blocks)x(type 1 block sizes) + (type 2 blocks)x(type 2 block sizes) +?+ (type n blocks)x(type n block sizes) number of program or erase operations allowed in a partition bits 0?3 = number of simultaneous program operations bits 4?7 = number of simultaneous erase operations simultaneous program or erase operations allowed in other partitions while a partition in this region is in program mode bits 0?3 = number of simultaneous program operations bits 4?7 = number of simultaneous erase operations simultaneous program or erase operations allowed in other partitions while a partition in this region is in erase mode bits 0?3 = number of simultaneous program operations bits 4?7 = number of simultaneous erase operations
p30 datasheet august 2008 76 306666-12 table 48: partition region 1 information (continued) offset (1) see table below p = 10ah descri p tion a ddress bottom to p ( o p tional flash features and commands ) len bot top (p+2c)h (p+2c)h partition region 1 erase block type 1 information 4 136: 136: (p+2d)h (p+2d)h bits 0?15 = y, y+1 = # identical-size erase blks in a partition 137: 137: (p+2e)h (p+2e)h bits 16?31 = z, region erase block(s) size are z x 256 bytes 138: 138: (p+2f)h (p+2f)h 139: 139: (p+30)h (p+30)h partition 1 (erase block type 1) 213a:13a: (p+31)h (p+31)h block erase cycles x 1000 13b: 13b: (p+32)h (p+32)h 1 13c: 13c: (p+33)h (p+33)h 1 13d: 13d: partition region 1 (erase block type 1) programming region information 6 (p+34)h (p+34)h bits 0?7 = x, 2^x = programming region aligned size ( bytes ) 13e: 13e: (p+35)h (p+35)h bits 8?14 = reserved; bit 15 = legacy flash operation (ignore 0:7) 13f: 13f: (p+36)h (p+36)h bits 16?23 = y = control mode valid size in bytes 140: 140: (p+37)h (p+37)h bits 24-31 = reserved 141: 141: (p+38)h (p+38)h bits 32-39 = z = control mode invalid size in bytes 142: 142: (p+39)h (p+39)h bits 40-46 = reserved; bit 47 = legacy flash operation (ignore 23:16 & 39:32) 143: 143: (p+3a)h (p+3a)h partition region 1 erase block type 2 information 4 144: 144: (p+3b)h (p+3b)h bits 0?15 = y, y+1 = # identical-size erase blks in a partition 145: 145: (p+3c)h (p+3c)h bits 16?31 = z, region erase block(s) size are z x 256 bytes 146: 146: (p+3d)h (p+3d)h 147: 147: (p+3e)h (p+3e)h partition 1 (erase block type 2) 2 148: 148: (p+3f)h (p+3f)h block erase cycles x 1000 149: 149: (p+40)h (p+40)h 114a:14a: (p+41)h (p+41)h 114b:14b: partition region 1 (erase block type 2) programming region information 6 (p+42)h (p+42)h bits 0?7 = x, 2^x = programming region aligned size ( bytes ) 14c: 14c: (p+43)h (p+43)h bits 8?14 = reserved; bit 15 = legacy flash operation (ignore 0:7) 14d: 14d: (p+44)h (p+44)h bits 16?23 = y = control mode valid size in bytes 14e: 14e: (p+45)h (p+45)h bits 24-31 = reserved 14f: 14f: (p+46)h (p+46)h bits 32-39 = z = control mode invalid size in bytes 150: 150: (p+47)h (p+47)h bits 40-46 = reserved; bit 47 = legacy flash operation (ignore 23:16 & 39:32) 151: 151: partition 1 (erase block type 1) page mode and synchronous mode capabilities defined in table 10. bit 0 = page-mode host reads permitted (1=yes, 0=no) bit 1 = synchronous host reads permitted (1=yes, 0=no) bit 2 = synchronous host writes permitted (1=yes, 0=no) bits 3?7 = reserved for future use partition 1 (erase block type 1) bits per cell; internal edac bits 0?3 = bits per cell in erase region bit 4 = internal edac used (1=yes, 0=no) bits 5?7 = reserve for future use partition 1 (erase block type 2) bits per cell; internal edac bits 0?3 = bits per cell in erase region bit 4 = internal edac used (1=yes, 0=no) bits 5?7 = reserve for future use partition 1 (erase block type 2) page mode and synchronous mode capabilities defined in table 10. bit 0 = page-mode host reads permitted (1=yes, 0=no) bit 1 = synchronous host reads permitted (1=yes, 0=no) bit 2 = synchronous host writes permitted (1=yes, 0=no) bits 3?7 = reserved for future use
august 2008 datasheet order number: 306666-12 77 p30 table 49: partition and erase block region information address 64-mbit ? b ? t ? b ? t ? b ? t 12d: --01 --01 --01 --01 --01 --01 12e: --24 --24 --24 --24 --24 --24 12f: --00 --00 --00 --00 --00 --00 130: --01 --01 --01 --01 --01 --01 131: --00 --00 --00 --00 --00 --00 132: --11 --11 --11 --11 --11 --11 133: --00 --00 --00 --00 --00 --00 134: --00 --00 --00 --00 --00 --00 135: --02 --02 --02 --02 --02 --02 136: --03 --3e --03 --7e --03 --fe 137: --00 --00 --00 --00 --00 --00 138: --80 --00 --80 --00 --80 --00 139: --00 --02 --00 --02 --00 --02 13a: --64 --64 --64 --64 --64 --64 13b: --00 --00 --00 --00 --00 --00 13c: --02 --02 --02 --02 --02 --02 13d: --03 --03 --03 --03 --03 --03 13e: --00 --00 --00 --00 --00 --00 13f: --80 --80 --80 --80 --80 --80 140: --00 --00 --00 --00 --00 --00 141: --00 --00 --00 --00 --00 --00 142: --00 --00 --00 --00 --00 --00 143: --80 --80 --80 --80 --80 --80 144: --3e --03 --7e --03 --fe --03 145: --00 --00 --00 --00 --00 --00 146: --00 --80 --00 --80 --00 --80 147: --02 --00 --02 --00 --02 --00 148: --64 --64 --64 --64 --64 --64 149: --00 --00 --00 --00 --00 --00 14a: --02 --02 --02 --02 --02 --02 14b: --03 --03 --03 --03 --03 --03 14c: --00 --00 --00 --00 --00 --00 14d: --80 --80 --80 --80 --80 --80 14e: --00 --00 --00 --00 --00 --00 14f: --00 --00 --00 --00 --00 --00 150: --00 --00 --00 --00 --00 --00 151: --80 --80 --80 --80 --80 --80 128-mbit 256-mbit
p30 datasheet august 2008 78 306666-12 table 50: cfi link information offse t (1) len g th descri p tion hex p = 10ah (optional flash features and commands) a dd. code v alue (p+48)h 4 cfi link field bit definitions 152: (p+49)h bits 0?9 = address offset (within 32mbit segment) of referenced cfi table 153: (p+4a)h bits 10?27 = nth 32mbit segment of referenced cfi table 154: (p+4b)h bits 28?30 = memory type 155: bit 31 = another cfi link field immediately follows (p+4c)h 1 cfi link field quantity subfield definitions 156: bits 0?3 = quantity field (n such that n+1 equals quantity) bit 4 = table & die relative location bit 5 = link field & table relative location bits 6?7 = reserved see table below see table below discrete ?b ?t ?- ?- die 1 (b) die 2 (t) die 1 (t) die 2 (b) 152: --ff --ff --10 --ff --10 --ff 153: --ff --ff --20 --ff --20 --ff 154: --ff --ff --00 --ff --00 --ff 155: --ff --ff --00 --ff --00 --ff 156: --ff --ff --10 --ff --10 --ff address 512-mbit ?b ?t
august 2008 datasheet order number: 306666-12 79 p30 a.2 flowcharts figure 34: word program flowchart program suspend loop start write 0x40, word address write data, word address read status register sr[7] = full status check (if desired) program complete suspend? 1 0 no yes word program procedure repeat for subsequent word program operations. full status register check can be done after each program, or after a sequence of program operations. write 0xff after the last operation to set to the read array state. comments bus operation command data = 0x40 addr = location to program write program setup data = data to program addr = location to program write data status register data read none check sr[7] 1 = wsm ready 0 = wsm busy idle none (setup) (confirm) full status check procedure read status register program successful sr[3] = sr[1] = 0 0 sr[4] = 0 1 1 1 v pp range error device protect error program error if an error is detected, clear the status register before continuing operations - only the clear staus register command clears the status register error bits. idle idle bus operation none none command check sr[3]: 1 = v pp error check sr[4]: 1 = data program error comments idle none check sr[1]: 1 = block locked; operation aborted
p30 datasheet august 2008 80 306666-12 figure 35: program suspend/resume flowchart read status register sr.7 = sr.2 = read array data program completed done reading program resumed read array data 0 no 0 yes 1 1 program suspend / resume procedure write program resume data = d0h addr = suspended block (ba) bus operation command comments write program suspend data = b0h addr = x standby check sr.7 1 = wsm ready 0 = wsm busy standby check sr.2 1 = program suspended 0 = program completed write read array data = ffh addr = block address to read (ba) read read array data from block other than the one being programmed read status register data initiate a read cycle to update status register addr = suspended block (ba) pgm_ sus. wmf st art write b0h any address pr ogram suspend read status write 70 h write ffh read ar ray write d0h any address program resume write ffh read arr ay write read status data = 70h addr = block to suspend (ba )
august 2008 datasheet order number: 306666-12 81 p30 figure 36: buffer program flowchart start get next target address issue write to buffer command e8h and block address read status register (at block address) is wsm ready? sr.7 = 1 = yes device supports buffer writes? set timeout or loop counter timeout or count expired? write confirm d0h and block address another buffered programming? yes no no write buffer data, start address x = 0 yes 0 = n o no yes use single word programming abort bufferred program? no x = n? write buffer data, block address x = x + 1 write to another block address buffered program aborted no yes yes write word count, block address 1. word count values on dq 0 -dq 7 are loaded into the count register. count ranges for this device are n = 0000h to 0001fh. 2. the device outputs the status register when read. 3. write buffer contents will be programmed at the device start address or destination flash address. 4. align the start address on a write buffer boundary for maximum programming performance (i.e., a 4 ?a 0 of the start address = 0). 5. the device aborts the buffered program command if the current address is outside the original block address. 6. the status register indicates an "improper command sequence " if the buffered program command is aborted. follow this with a clear status register command. full status check can be done after all erase and write sequences complete . write ffh after the last operation to reset the device to read array mode. bus operation standby read command write write to buffer read standby co mmen t s check sr.7 1 = wsm ready 0 = wsm busy status register data ce# and oe# low updates sr addr = block address data = e8h addr = block address sr.7 = valid addr = block address check sr.7 1 = device wsm is busy 0 = device wsm is ready write program confirm data = d0h addr = block address write (notes 1, 2) data = n-1 = word count n = 0 corresponds to count = 1 addr = block address write (notes 3, 4) data = write buffer data addr = start address write (notes 5, 6) data = write buffer data addr = block address suspend program loop read status register sr.7 =? full status check if desired program complete suspend program 1 0 no yes
p30 datasheet august 2008 82 306666-12 figure 37: befp flowchart notes: 1. first-word address to be programmed within the target block must be aligned on a write -buffer boundary. 2. write-buffer contents are programmed sequentially to the flash array starting at the first word address (wsm internally incr ements addressing). befp exit repeat for subsequent blocks ; after befp exit, a full status register check can determine if any program error occurred ; see full status register check procedure in the word program flowchart. write 0xff to enter read array state . standby read bus state operation status register check exit status comments data = status register data address = 1 st word addr. check sr[7]: 0 = exit not completed 1 = exit completed befp setup comments bus state operation write (note 1) befp setup write befp confirm read status register standby befp setup done? write unlock block data = 0x80 @ 1 st word address data = 0x80 @ 1 st word address 1 data = status register data address = 1 st word addr. check sr[7]: 0 = befp ready 1 = befp not ready v pph applied to vpp standby error condition check if sr[7] is set, check: sr[3] set = v pp error sr[1] set = locked block no (sr[0]=1) write data @ 1 st word address last data? write 0xffff, address not within current block program done? read status reg. yes (sr[0]=0) y no (sr[7]=0) full status check procedure program complete read status reg. befp exited? yes (sr[7]=1) start write 80h @ 1 st word address v pp applied block unlocked write d0h @ 1 st word address befp setup done? read status reg. no (sr[7]=1) exit n program & verify phase exit phase setup phase buffered enhanced factory programming (befp) procedure check x = 32? initialize count: x = 0 increment count: x = x+1 y n check v pp , lock errors (sr[3,1]) yes (sr[7]=0) befp setup delay data stream ready? read status reg. yes (sr[0]=0) no (sr[0]=1) befp program & verify comments bus state write (note 2) load buffer standby increment count standby initialize count data = data to program address = 1 st word addr. x = x+1 x = 0 read status register standby program done? data = status reg. data address = 1 st word addr. check sr[0]: 0 = program done 1 = program in progress write exit prog & verify phase data = 0xffff @ address not in current block standby last data? no = fill buffer again yes = exit standby buffer full? x = 32? yes = read sr[0] no = load next data word read standby status register data stream ready? data = status register data address = 1 st word addr. check sr[0]: 0 = ready for data 1 = not ready for data operation
august 2008 datasheet order number: 306666-12 83 p30 figure 38: block erase flowchart start full erase status check procedure repeat for subsequent block erasures. full status register check can be done after each block erase or after a sequence of block erasures. write 0xff after the last operation to enter read array mode. only the clear status register command clears sr[1, 3, 4, 5]. if an error is detected, clear the status register before attempting an erase retry or other error recovery. no suspend erase 1 0 0 0 1 1,1 1 1 0 yes suspend erase loop 0 write 0x20, block address write 0xd0, block address read status register sr[7] = full erase status check (if desired) block erase complete read status register block erase successful sr[1] = block locked error block erase procedure bus operation command comments write block erase setup data = 0x20 addr = block to be erased (ba) write erase confirm data = 0xd0 addr = block to be erased (ba) read none status register data. idle none check sr[7]: 1 = wsm ready 0 = wsm busy bus operation command comments sr[3] = v pp range error sr[4,5] = command sequence error sr[5] = block erase error idle none check sr[3]: 1 = v pp range error idle none check sr[4,5]: both 1 = command sequence error idle none check sr[5]: 1 = block erase error idle none check sr[1]: 1 = attempted erase of locked block; erase aborted. (block erase) (erase confirm)
p30 datasheet august 2008 84 306666-12 figure 39: erase suspend/resume flowchart erase completed read array data 0 0 no read 1 program program loop read array data 1 yes start read status register sr.7 = sr.6 = erase resumed read or program ? done? write write standby standby write erase suspend read array or program program resume data = b0h addr = sam e part ition address as above data = ffh or 40h addr = block to program or read check sr.7 1 = wsm ready 0 = wsm busy check sr.6 1 = erase suspended 0 = erase completed data = d0h addr = any address bus operation command comments read status register data. toggle ce# or oe# to update status register addr =x read or write read array or program data from/to block other than the one being erased erase suspend / resume procedure eras _ sus .wmf write b0h any address erase suspend write 70h any address read status write d0h any address erase resume write 70h any address read status write ffh any addres read array write read status data = 70h addr = any device address
august 2008 datasheet order number: 306666-12 85 p30 figure 40: block lock operations flowchart no op tion al start write 60 h block address write 90 h read block lock status locking change ? lock change complete write 01 ,d0,2fh block address write ffh any address yes write write write ( optional) read ( optional) standby ( optional) write lock setup lock, unlock, or lockdown confirm read id plane block lock status read array data = 60h addr = block to lock/unlock/lock-down (ba) data = 01h (lock block) d0h (unlock block) 2fh (lockdown block) addr = block to lock/unlock/lock-down (ba) data = 90h addr = block address offset +2 ( ba+2 ) block lock status data addr = block address offset +2 ( ba+2 ) confirm locking change on dq 1 , dq 0 . (see block locking state transitions table for valid combinations.) data = ffh addr = block address (ba) bus operation command comments locking operations procedure lock_op.wmf lock confirm lock setup read id pl ane read ar ray
p30 datasheet august 2008 86 306666-12 a.3 write state machine figure 42 through figure 47 show the command state transitions (next state table) based on incoming commands. only one partition can be actively programming or erasing at a time. each partition stays in its last read state (read array, read device id, read cfi or read status register) until a new command changes it. the next wsm state does not depend on the partition?s output state. figure 41: protection register programming flowchart full status check procedure program protection register operation addresses must be within the protection register address space. addresses outside this space will return an error. repeat for subsequent programming operations. full status register check can be done after each program, or after a sequence of program operations. write 0xff after the last operation to set read array state. only the clear staus register command clears sr[1, 3, 4]. if an error is detected, clear the status register before attempting a program retry or other error recovery. 1 0 1 1 1 protection register programming procedure start write 0xc0, pr address write pr address & data read status register sr[7] = full status check (if desired) program complete read status register data program successful sr[3] = sr[4] = sr[1] = v pp range error program error register locked; program aborted idle idle bus operation none none command check sr[3]: 1 =v pp range error check sr[4]: 1 =programming error comments write write idle program pr setup protection program none data = 0xc0 addr = first location to program data = data to program addr = location to program check sr[7]: 1 = wsm ready 0 = wsm busy bus operation command comments read none status register data. idle none check sr[1]: 1 =block locked; operation aborted (program setup) (confirm data) 0 0 0
august 2008 datasheet order number: 306666-12 87 p30 figure 42: write state machine?next state table (sheet 1 of 6) read array (2) word program (3,4) buffered program (bp) erase setup (3,4) buffered enhanced factory pgm setup (3, 4) be confirm, p/e resume, ulb, confirm (8) bp / prg / erase suspend read status clear status register (5) read id/query lock, unlock, lock-down, cr setup (4) (ffh) (10h/40h) (e8h) (20h) (80h) (d0h) (b0h) (70h) (50h) (90h, 98h) (60h) ready program setup bp setup erase setup befp setup lock/cr setup ready (unlock block) setup busy setup busy word program suspend suspend word program busy setup bp load 1 bp load 2 bp confirm bp busy bp busy bp suspend bp suspend bp busy setup erase busy busy erase suspend suspend erase suspend word program setup in erase suspend bp setup in erase suspend erase busy lock/cr setup in erase suspend bp suspend erase bp busy erase busy erase suspend erase suspend ready (error) erase busy bp suspend ready (error) word program program busy word program suspend word program busy otp ready (lock error) ready ready ready (lock error) otp busy current chip state (7) command input to chip and resulting chip next state bp bp busy lock/cr setup bp load 2 ready (error) ready (error) word program busy bp confirm if data load into program buffer is complete; else bp load 2 word program suspend bp load 1
p30 datasheet august 2008 88 306666-12 figure 43: write state machine?next state table (sheet 2 of 6) setup busy word program suspend in erase suspend suspend word program busy in erase suspend setup bp load 1 bp load 2 bp confirm bp busy in erase suspend bp busy bp suspend in erase suspend bp suspend bp busy in erase suspend erase suspend (unlock block) setup befp loading data (x=32) erase suspend (error) erase suspend (lock error [botch]) ready (error) ready (error) bp suspend in erase suspend ready (error in erase suspend) bp busy in erase suspend bp suspend in erase suspend bp busy in erase suspend word program busy in erase suspend word program in erase suspend word program busy in erase suspend word program suspend in erase suspend lock/cr setup in erase suspend erase suspend (lock error) bp confirm if data load into program buffer is complete; else bp load 2 bp in erase suspend bp load 2 word program busy in erase suspend busy word program suspend in erase suspend befp program and verify busy (if block address given matches address given on befp setup command). commands treated as data. ( 7) befp busy buffered enhanced factory program mode bp load 1 read array ( 2 ) word program (3,4) buffered program (bp) erase setup (3,4) buffered enhanced factory pgm setup (3, 4) be confirm, p/e resume, ulb, confirm (8) bp / prg / erase suspend read status clear status register (5) read id/query lock, unlock, lock-down, cr setup (4) (ffh) (10h/40h) (e8h) (20h) (80h) (d0h) (b0h) (70h) (50h) (90h, 98h) (60h) current chip state (7) command input to chip and resulting chip next state
august 2008 datasheet order number: 306666-12 89 p30 figure 44: write state machine?next state table (sheet 3 of 6) setup busy setup busy suspend setup bp load 1 bp load 2 bp confirm bp busy bp suspend setup busy suspend erase word program otp ready current chip state (7) bp lock/cr setup otp setup (4) lock block confirm (8) lock-down block confirm (8) write rcr confirm (8) block address (?wa0) 9 illegal cmds or befp data (1) (c0h) (01h) (2fh) (03h) (xxxxh) (all other codes) otp setup ready (lock error) ready (lock block) ready (lock down blk) ready (set cr) ready n/a ready ready (bp load 2 bp load 2 ready bp confirm if data load into program buffer is complete; else bp load 2 ready (error) (proceed if unlocked or lock error) ready (error) ready ready n/a bp confirm if data load into program buffer is complete; else bp load 2 ready (error) bp busy erase busy word program suspend bp load 1 bp load 2 otp busy word program busy word program busy wsm operation completes command input to chip and resultin g chip next state n/a ready (lock error) ready bp suspend ready (error) erase suspend n/a n/a
p30 datasheet august 2008 90 306666-12 figure 45: write state machine?next state table (sheet 4 of 6) otp setup (4) lock block confirm (8) lock-down block confirm (8) write rcr confirm (8) block address (?wa0) 9 illegal cmds or befp data (1) (c0h) (01h) (2fh) (03h) (xxxxh) (all other codes) wsm operation completes command input to chip and resulting chip next state current chip state (7) na erase suspend n/a ready (bp load 2 bp load 2 ready bp confirm if data load into program buffer is complete; else bp load 2 ready (error) (proceed if unlocked or lock error) ready (error) erase suspend erase suspend (lock error) erase suspend (lock block) erase suspend (lock down block) erase suspend (set cr) ready (befp loading data) ready (error) befp program and verify busy (if block address given matches address given on befp setup command). commands treated as data. (7) bp load 1 ready (error) bp confirm if data load into program buffer is complete; else bp load 2 ready (error in erase suspend) word program suspend in erase suspend bp load 2 ready word program busy in erase suspend busy word program busy in erase suspend befp busy ready erase suspend (lock error) n/a bp busy in erase suspend bp suspend in erase suspend n/a setup busy suspend setup bp load 1 bp load 2 bp confirm bp busy bp suspend setup befp busy buffered enhanced factory program mode lock/cr setup in erase suspend bp in erase suspend word program in erase suspend
august 2008 datasheet order number: 306666-12 91 p30 figure 46: write state machine?next state table (sheet 5 of 6) read array ( 2 ) word program setup (3,4) bp setup erase setup (3,4) buffered enhanced factory pgm setup (3, 4) be confirm, p/e resume, ulb confirm (8) program/ erase suspend read status clear status register (5) read id/query lock, unlock, lock-down, cr setup (4) (ffh) (10h/40h) (e8h) (20h) (30h) (d0h) (b0h) (70h) (50h) (90h, 98h) (60h) status read command input to chip and resulting output mux next state output next state table status read output mux does not change. status read id read status read ready, erase suspend, bp suspend status read lock/cr setup, lock/cr setup in erase susp output does not change. status read befp setup, befp pgm & verify busy, erase setup, otp setup, bp: setup , load 1, load 2, confirm, word pgm setup, word pgm setup in erase susp, bp setup, load1, load 2, confirm in erase suspend current chip state otp busy bp busy, word program busy, erase busy, bp busy bp busy in erase suspend word pgm suspend, word pgm busy in erase suspend, pgm suspend in erase sus p end read array
p30 datasheet august 2008 92 306666-12 notes: 1. "illegal commands" include commands outside of the allowed command set (allowed commands: 40h [pgm], 20h [erase], etc.) 2. if a "read array" is attempted from a busy partition, the result will be invalid data. the id and cfi data are located at different locations in the address map. 3. 1st and 2nd cycles of "2 cycles write commands" must be given to the same partition address, or unexpected results will occur. 4. to protect memory contents against erroneous command sequences, there are specific instances in a multi-cycle command sequence in which the second cycle will be ignored. for example, when the device is program suspended and an erase setup command (0x20) is given followed by a confirm/resume command (0xd0), the second command will be ignored because it is unclear whether the user intends to erase the block or resume the program operation. 5. the clear status command only clears the error bits in the status register if the device is not in the following modes: wsm running (pgm busy, erase busy, pgm busy in erase suspend, otp busy, befp modes). 6. befp writes are only allowed when the status register bit #0 = 0, or else the data is ignored. figure 47: write state machine?next state table (sheet 6 of 6) otp busy bp busy, word program busy, erase busy, bp busy bp busy in erase suspend word pgm suspend, word pgm busy in erase suspend, pgm suspend in erase sus p end befp setup, befp pgm & verify busy, erase setup, otp setup, bp: setup , load 1, load 2, confirm, word pgm setup, word pgm setup in erase susp, bp setup, load1, load 2, confirm in erase suspend current chip state ready, erase suspend, bp suspend lock/cr setup, lock/cr setup in erase susp otp setup (4) lock block confirm (8) lock-down block confirm (8) write cr confirm (8) block address (?wa0) illegal cmds or befp data (1) (c0h) (01h) (2fh) (03h) (ffffh) (all other c odes) wsm operation completes output does not change. a rray read status read array read output does not change. output does not change. status read status read status read command input to chip and resulting output mux next state output next state table
august 2008 datasheet order number: 306666-12 93 p30 7. the "current state" is that of the "chip" and not of the "partition"; each partition "remembers" which output (array, id/cfi or status) it was last pointed to on the last instruction to the "chip", but the next state of the chip does not depend on where the partition's output mux is presently pointing to. 8. confirm commands (lock block, unlock block, lock-down block, configuration register) perform the operation and then move to the ready state. 9. wa0 refers to the block address latched during the first write cycle of the current operation.
p30 datasheet august 2008 94 306666-12 appendix b conventions - additional information b.1 conventions b.2 acronyms vcc: signal or voltage connection v cc : signal or voltage level 0x: hexadecimal number prefix 0b: binary number prefix sr[4]: denotes an individual register bit. a[15:0]: denotes a group of similarly named signals, such as address or data bus. a5: denotes one element of a signal group membership, such as an individual address bit. bit: binary unit byte: eight bits word: two bytes, or sixteen bits kbit: 1024 bits kbyte: 1024 bytes kword: 1024 words mbit: 1,048,576 bits mbyte: 1,048,576 bytes mword: 1,048,576 words befp: buffer enhanced factory programming cui: command user interface mlc: multi-level cell otp: one-time programmable plr: protection lock register pr: protection register rcr: read configuration register rfu: reserved for future use sr: status register wsm: write state machine
august 2008 datasheet order number: 306666-12 95 p30 b.3 nomenclature b.4 additional documentation block : a group of bits, bytes, or words within the flash memory array that erase simultaneously. the p30 has two block sizes: 32 kbyte and 128 kbyte. main block : an array block that is usually used to store code and/or data. main blocks are larger than parameter blocks. parameter block : an array block that may be used to store frequently changing data or small system parameters that traditionally would be stored in eeprom. top parameter device : a device with its parameter blocks located at the highest physical address of its memory map. bottom parameter device : a device with its parameter blocks located at the lowest physical address of its memory map. order/document number document/tool 309045 p30 family specification update 308291 schematic review checklist for numonyx? strataflash ? embedded memory (p30) 300783 using numonyx? flash memory: asynchronous page mode and synchronous burst mode 290667 numonyx? strataflash ? memory (j3) datasheet 306667 migration guide for numonyx? strataflash ? memory (j3) to numonyx? strataflash ? embedded memory (p30/p33) application note 812 314750 numonyx? strataflash ? memory (p30) to numonyx? strataflash ? embedded memory (p33) conversion guide application note 867 290737 numonyx? strataflash ? synchronous memory (k3/k18) datasheet 306669 migration guide for numonyx? strataflash ? synchronous memory (k3/k18) to numonyx? strataflash ? embedded memory (p30) application note 825 290701 numonyx? wireless flash memory (w18) datasheet 290702 numonyx? wireless flash memory (w30) datasheet 252802 numonyx? flash memory design for a stacked chip scale package (scsp) 298161 numonyx? flash memory chip scale package user?s guide 253418 numonyx? wireless communications and computing package user's guide 296514 numonyx? small outline package guide 297833 numonyx? flash data integrator (numonyx? fdi) user guide 298136 numonyx? persistent storage manager (numonyx? psm) user guide 306668 migration guide for spansion* s29glxxxn to numonyx? strataflash ? embedded memory (p30/p33) application note 813 note: contact your local numonyx or distribution sales office or visit numonyx?s world wide web home page at http:// www.numonyx.com for technical documentation, tools, or the most current information on numonyx? flash memory.
p30 datasheet august 2008 96 306666-12 appendix c revision history revision date revision description april 2005 -001 initial release august 2005 -002 revised discrete memory maps in section 1.4, ?memory maps? on page 6 added memory maps for 512-mbit top parameter devices in section 1.4, ?memory maps? on page 6 fixed size of programming region for 256-mbit to be 8-mbit in section 1.4, ?memory maps? on page 6 and section 8.0, ?program operation? on page 28 removed power supply sequencing requirement in section 12.1, ?power-up and power-down? on page 49 updated conditions for table 29, ?capacitance? on page 55 updated cfi table in appendix a, ?common flash interface tables? september 2005 -003 added note to table 14, ?device id codes? on page 27 for stacked device id codes synchronous burst read operation is currently not supported for the tsop package updated 512-mbit easy bga ball height (symbol a1) in figure 2, ?easy bga mechanical specifications? on page 10 november 2005 -004 updated read access speed for 265m tsop package february 2006 -005 removed all references to 1 gigabit. april 2006 -006 ? added 52 mhz capabilities, ? added tsop package information for 512 mb throughout the document, ?added section 1.3, ?virtual chip enable description? on page 6 , ? modified figures in section 4.1, ?dual-die configurations? on page 20 , ?modified table 5, ?512-mbit top and bottom parameter memory map (easy bga and quad+ scsp)? on page 8 , ? modified notes 5 & 6 to reset specifications table in section 12.2, ?reset specifications? on page 49 , ? added additional note on 512 mb capability in table 17, ?selectable otp block mapping? on page 38 . may 2006 -007 ? updated the following tables to 52 mhz: table 30, ?ac read specifications for 64/128- mbit densities? on page 55 and table 31, ?ac read specifications for 256/512-mbit densities? on page 56 . may-2006 -008 ? added notes 1, 2, and 3 to table 29, ?capacitance? on page 55 . june - 2007 -009 ? correct typos and add clarifications ? enabled specific burst operation on tsop packages. ? updated device commands table. ? updaed description on synchronous burst operation. ? added eowl description. ? updated flowcharts november 2007 -010 ? updated for 65nm lithography ? added w602 - erase to suspend november 2007 11 ? applied numonyx branding. august 2008 12 ? corrected single word (65 nm) program time from 125 (typ) and 150 (max) to 150 (typ) and 456 (max) in table 34, ?program and erase specifications? on page 66 .


▲Up To Search▲   

 
Price & Availability of JS48F4400P0VB00

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X